glibc/iconv/tst-iconv1.c
Ulrich Drepper 1bc83d2bb2 Update.
2001-09-01  Richard Henderson  <rth@redhat.com>

	* sysdeps/alpha/elf/Dist: Remove file.
	* sysdeps/alpha/elf/Makefile: Remove file.
	* sysdeps/alpha/elf/crtbegin.S: Remove file.
	* sysdeps/alpha/elf/crtend.S: Remove file.
	* sysdeps/alpha/elf/initfini.c: New file.

2001-09-01  Mark Kettenis  <kettenis@gnu.org>

	* iconv/tst-iconv1.c: Include <stddef.h> for wchar_t.
	* iconv/tst-iconv3.c: Likewise.

2001-09-01  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/generic/inttypes.h (__gwchar_t): Define to wchar_t for C++.

	handle it like 'I' for symmetry with strftime.
2001-09-01 19:24:55 +00:00

45 lines
765 B
C

/* Test case by yaoz@nih.gov. */
#include <iconv.h>
#include <stddef.h>
#include <stdio.h>
#include <string.h>
int
main (void)
{
char utf8[5];
wchar_t ucs4[5];
iconv_t cd;
char *inbuf;
char *outbuf;
size_t inbytes;
size_t outbytes;
size_t n;
strcpy (utf8, "abcd");
/* From UTF8 to UCS4. */
cd = iconv_open ("UCS4", "UTF8");
if (cd == (iconv_t) -1)
{
perror ("iconv_open");
return 1;
}
inbuf = utf8;
inbytes = 4;
outbuf = (char *) ucs4;
outbytes = 4 * sizeof (wchar_t); /* "Argument list too long" error. */
n = iconv (cd, &inbuf, &inbytes, &outbuf, &outbytes);
if (n == (size_t) -1)
{
printf ("iconv: %m\n");
iconv_close (cd);
return 1;
}
iconv_close (cd);
return 0;
}