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