]> git.ipfire.org Git - thirdparty/glibc.git/blame - iconvdata/tst-iconv4.c
Sync time/mktime.c with gnulib
[thirdparty/glibc.git] / iconvdata / tst-iconv4.c
CommitLineData
d84e7efa
UD
1#include <errno.h>
2#include <iconv.h>
3#include <stdio.h>
4#include <stdlib.h>
5#include <string.h>
6
7
8static int
9do_test (void)
10{
11 iconv_t cd = iconv_open ("ISO-8859-1", "UNICODE");
12 if (cd == (iconv_t) -1)
13 {
14 printf ("iconv_open failed: %m\n");
15 exit (EXIT_FAILURE);
16 }
17
18 char instr[] = "a";
19 char *inptr = instr;
20 size_t inlen = strlen (instr);
21 char buf[200];
22 char *outptr = buf;
23 size_t outlen = sizeof (outptr);
24
25 errno = 0;
26 size_t n = iconv (cd, &inptr, &inlen, &outptr, &outlen);
27 if (n != (size_t) -1)
28 {
bdf382bb 29 printf ("n (= %zu) != (size_t) -1\n", n);
d84e7efa
UD
30 exit (EXIT_FAILURE);
31 }
32 if (errno != EINVAL)
33 {
34 printf ("errno = %m, not EINVAL\n");
35 exit (EXIT_FAILURE);
36 }
37
38 iconv_close (cd);
39
40 return 0;
41}
42
43#define TEST_FUNCTION do_test ()
44#include "../test-skeleton.c"