Blame iconvdata/bug-iconv6.c

Packit Service 82fcde
#include <string.h>
Packit Service 82fcde
#include <stdio.h>
Packit Service 82fcde
#include <stdlib.h>
Packit Service 82fcde
#include <errno.h>
Packit Service 82fcde
#include <iconv.h>
Packit Service 82fcde
#include <locale.h>
Packit Service 82fcde
Packit Service 82fcde
static const char testbuf[] = {
Packit Service 82fcde
	0xEF, 0xBE, 0x9F, 0xD0, 0xB4, 0xEF, 0xBE, 0x9F, 0x29, 0xEF, 0xBE, 0x8E,
Packit Service 82fcde
	0xEF, 0xBE, 0x9F, 0xEF, 0xBD, 0xB6, 0xEF, 0xBD, 0xB0, 0xEF, 0xBE, 0x9D
Packit Service 82fcde
};
Packit Service 82fcde
Packit Service 82fcde
static int
Packit Service 82fcde
do_test (void)
Packit Service 82fcde
{
Packit Service 82fcde
  setlocale (LC_ALL, "de_DE.UTF-8");
Packit Service 82fcde
  iconv_t ic = iconv_open ("ISO-2022-JP//TRANSLIT", "UTF-8");
Packit Service 82fcde
  if (ic == (iconv_t) -1)
Packit Service 82fcde
    {
Packit Service 82fcde
      puts ("iconv_open failed");
Packit Service 82fcde
      return 1;
Packit Service 82fcde
    }
Packit Service 82fcde
  size_t outremain = sizeof testbuf;
Packit Service 82fcde
  char outbuf[outremain];
Packit Service 82fcde
  char *inp = (char *) testbuf;
Packit Service 82fcde
  char *outp = outbuf;
Packit Service 82fcde
  size_t inremain = sizeof testbuf;
Packit Service 82fcde
Packit Service 82fcde
  int ret = iconv (ic, &inp, &inremain, &outp, &outremain);
Packit Service 82fcde
Packit Service 82fcde
  int result = 0;
Packit Service 82fcde
  if (ret == (size_t) -1)
Packit Service 82fcde
    {
Packit Service 82fcde
      if (errno == E2BIG)
Packit Service 82fcde
	puts ("buffer too small reported.  OK");
Packit Service 82fcde
      else
Packit Service 82fcde
	{
Packit Service 82fcde
	  printf ("iconv failed with %d (%m)\n", errno);
Packit Service 82fcde
	  result = 0;
Packit Service 82fcde
	}
Packit Service 82fcde
    }
Packit Service 82fcde
  else
Packit Service 82fcde
    {
Packit Service 82fcde
      printf ("iconv returned %d\n", ret);
Packit Service 82fcde
      result = 1;
Packit Service 82fcde
    }
Packit Service 82fcde
Packit Service 82fcde
  return result;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
#define TEST_FUNCTION do_test ()
Packit Service 82fcde
#include "../test-skeleton.c"