From ec28fc7c4f3e136a38f361cf7ce2274452f0d849 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 6 Jan 2001 23:27:53 +0000 Subject: (Finding Tokens in a String): Document XPG basename() and dirname(), aswell as GNU basename(). --- iconv/tst-iconv3.c | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 iconv/tst-iconv3.c (limited to 'iconv/tst-iconv3.c') diff --git a/iconv/tst-iconv3.c b/iconv/tst-iconv3.c new file mode 100644 index 0000000000..60aa5c3ed8 --- /dev/null +++ b/iconv/tst-iconv3.c @@ -0,0 +1,52 @@ +/* Contributed by Owen Taylor . */ + +#include +#include +#include + +#define BUFSIZE 10000 + +int +main (int argc, char *argv[]) +{ + char inbuf[BUFSIZE]; + wchar_t outbuf[BUFSIZE]; + + iconv_t cd; + int i; + char *inptr; + char *outptr; + size_t inbytes_left, outbytes_left; + int count; + int result = 0; + + for (i=0; i < BUFSIZE; i++) + inbuf[i] = 'a'; + + cd = iconv_open ("UCS-4LE", "UTF-8"); + + inbytes_left = BUFSIZE; + outbytes_left = BUFSIZE * 4; + inptr = inbuf; + outptr = (char *) outbuf; + + count = iconv (cd, &inptr, &inbytes_left, &outptr, &outbytes_left); + + if (count < 0) + { + if (errno == E2BIG) + printf ("Received E2BIG\n"); + else + printf ("Received something else\n"); + + printf ("inptr change: %td\n", inptr - inbuf); + printf ("inlen change: %d\n", BUFSIZE - inbytes_left); + printf ("outptr change: %zd\n", outptr - (char *) outbuf); + printf ("outlen change: %d\n", BUFSIZE * 4 - outbytes_left); + result = 1; + } + else + printf ("Succeeded\n"); + + return result; +} -- cgit v1.2.3