Blame iconvdata/tst-iconv4.c

Packit Service 82fcde
#include <errno.h>
Packit Service 82fcde
#include <iconv.h>
Packit Service 82fcde
#include <stdio.h>
Packit Service 82fcde
#include <stdlib.h>
Packit Service 82fcde
#include <string.h>
Packit Service 82fcde
Packit Service 82fcde
Packit Service 82fcde
static int
Packit Service 82fcde
do_test (void)
Packit Service 82fcde
{
Packit Service 82fcde
  iconv_t cd = iconv_open ("ISO-8859-1", "UNICODE");
Packit Service 82fcde
  if (cd == (iconv_t) -1)
Packit Service 82fcde
    {
Packit Service 82fcde
      printf ("iconv_open failed: %m\n");
Packit Service 82fcde
      exit (EXIT_FAILURE);
Packit Service 82fcde
    }
Packit Service 82fcde
Packit Service 82fcde
  char instr[] = "a";
Packit Service 82fcde
  char *inptr = instr;
Packit Service 82fcde
  size_t inlen = strlen (instr);
Packit Service 82fcde
  char buf[200];
Packit Service 82fcde
  char *outptr = buf;
Packit Service 82fcde
  size_t outlen = sizeof (outptr);
Packit Service 82fcde
Packit Service 82fcde
  errno = 0;
Packit Service 82fcde
  size_t n = iconv (cd, &inptr, &inlen, &outptr, &outlen);
Packit Service 82fcde
  if (n != (size_t) -1)
Packit Service 82fcde
    {
Packit Service 82fcde
      printf ("n (= %zu) != (size_t) -1\n", n);
Packit Service 82fcde
      exit (EXIT_FAILURE);
Packit Service 82fcde
    }
Packit Service 82fcde
  if (errno != EINVAL)
Packit Service 82fcde
    {
Packit Service 82fcde
      printf ("errno = %m, not EINVAL\n");
Packit Service 82fcde
      exit (EXIT_FAILURE);
Packit Service 82fcde
    }
Packit Service 82fcde
Packit Service 82fcde
  iconv_close (cd);
Packit Service 82fcde
Packit Service 82fcde
  return 0;
Packit Service 82fcde
}
Packit Service 82fcde
Packit Service 82fcde
#define TEST_FUNCTION do_test ()
Packit Service 82fcde
#include "../test-skeleton.c"