mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-27 03:33:33 +08:00
Update.
2000-05-07 Ulrich Drepper <drepper@redhat.com> * iconv/Makefile (tests): Add tst-iconv1. * iconv/tst-iconv1.c: New file. Reported by yaoz@nih.gov.
This commit is contained in:
parent
45eca4d141
commit
c63b67bd9b
@ -1,3 +1,9 @@
|
||||
2000-05-07 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* iconv/Makefile (tests): Add tst-iconv1.
|
||||
* iconv/tst-iconv1.c: New file.
|
||||
Reported by yaoz@nih.gov.
|
||||
|
||||
2000-05-06 Bruno Haible <haible@clisp.cons.org>
|
||||
|
||||
* iconv/gconv_open.c (__gconv_open): If __gconv_find_transform
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1997, 1998 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -34,6 +34,8 @@ CFLAGS-gconv_db.c = -DSTATIC_GCONV
|
||||
CFLAGS-gconv_simple.c = -DSTATIC_GCONV
|
||||
endif
|
||||
|
||||
tests = tst-iconv1
|
||||
|
||||
distribute = gconv_builtin.h gconv_int.h loop.c skeleton.c
|
||||
|
||||
others = iconv_prog
|
||||
|
47
iconv/tst-iconv1.c
Normal file
47
iconv/tst-iconv1.c
Normal file
@ -0,0 +1,47 @@
|
||||
/* Test case by yaoz@nih.gov. */
|
||||
|
||||
#include <iconv.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
char utf8[5];
|
||||
wchar_t ucs4[5];
|
||||
iconv_t cd;
|
||||
const 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;
|
||||
#ifdef OK
|
||||
outbytes = 5 * sizeof (wchar_t); /* Ok. */
|
||||
#else
|
||||
outbytes = 4 * sizeof (wchar_t); /* "Argument list too long" error. */
|
||||
#endif
|
||||
n = iconv (cd, &inbuf, &inbytes, &outbuf, &outbytes);
|
||||
if (n == (size_t) -1)
|
||||
{
|
||||
perror ("iconv");
|
||||
iconv_close (cd);
|
||||
return 1;
|
||||
}
|
||||
iconv_close (cd);
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user