diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-01-06 23:27:53 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-01-06 23:27:53 +0000 |
commit | ec28fc7c4f3e136a38f361cf7ce2274452f0d849 (patch) | |
tree | 1c6a7ba85ddbb9ce7e5f0aed31271a494131e9ad /iconv | |
parent | f1813b562b7d4aebfde07f0991126e2de7a55d73 (diff) | |
download | glibc-ec28fc7c4f3e136a38f361cf7ce2274452f0d849.tar.gz |
(Finding Tokens in a String): Document XPG basename() and dirname(), aswell as GNU basename().
Diffstat (limited to 'iconv')
-rw-r--r-- | iconv/tst-iconv3.c | 52 |
1 files changed, 52 insertions, 0 deletions
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 <otaylor@redhat.com>. */ + +#include <iconv.h> +#include <errno.h> +#include <stdio.h> + +#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; +} |