1 /* Contributed by Jiro SEKIBA <jir@yamato.ibm.com>. */
9 #define UCS_STR "\x4e\x8c" /* EUC-TW 0xa2a2, EUC-JP 0x */
11 static const char *to_code;
14 xiconv (iconv_t cd, int out_size)
17 char *inp = (char *) UCS_STR;
18 char *outp = (char *) euc;
19 size_t inbytesleft = strlen (UCS_STR);
20 size_t outbytesleft = out_size;
25 ret = iconv (cd, &inp, &inbytesleft, &outp, &outbytesleft);
26 if (errno || ret == (size_t) -1)
28 fail = out_size == 4 || errno != E2BIG;
29 printf ("expected %d (E2BIG), got %d (%m)\n", E2BIG, errno);
33 printf ("%s: 0x%02x%02x\n", to_code, euc[0], euc[1]);
43 xiconv_open (const char *code)
48 if (errno || (cd = iconv_open (to_code, "UCS-2BE")) == (iconv_t) -1)
50 puts ("Can't open converter");
63 cd = xiconv_open ("EUC-TW");
64 result |= xiconv (cd, 4) == true;
66 result |= xiconv (cd, 1) == true;
70 cd = xiconv_open ("EUC-JP");
71 result |= xiconv (cd, 4) == true;
73 result |= xiconv (cd, 1) == true;