2006-04-25  Ulrich Drepper  <drepper@redhat.com>
	[BZ #2569]
	* iconv/gconv_db.c (__gconv_release_step): Fix condition of assert
	call.
	* iconvdata/Makefile (tests): Add tst-iconv6.
	* iconvdata/tst-iconv6.c: New file.
This commit is contained in:
Ulrich Drepper 2006-04-25 17:47:32 +00:00
parent bdefc84c58
commit 74ed1159d1
4 changed files with 47 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2006-04-25 Ulrich Drepper <drepper@redhat.com>
[BZ #2569]
* iconv/gconv_db.c (__gconv_release_step): Fix condition of assert
call.
* iconvdata/Makefile (tests): Add tst-iconv6.
* iconvdata/tst-iconv6.c: New file.
2006-04-24 Ulrich Drepper <drepper@redhat.com>
* posix/tst-rfc3484.c (do_test): Also initialize source_addr_flags

View File

@ -1,5 +1,5 @@
/* Provide access to the collection of available transformation modules.
Copyright (C) 1997-2003, 2004, 2005 Free Software Foundation, Inc.
Copyright (C) 1997-2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
@ -227,7 +227,7 @@ __gconv_release_step (struct __gconv_step *step)
step->__shlib_handle = NULL;
#endif
}
else
else if (step->__shlib_handle == NULL)
/* Builtin modules should not have end functions. */
assert (step->__end_fct == NULL);
}

View File

@ -65,7 +65,8 @@ modules.so := $(addsuffix .so, $(modules))
include ../Makeconfig
ifeq (yes,$(build-shared))
tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4
tests = bug-iconv1 bug-iconv2 tst-loading tst-e2big tst-iconv4 bug-iconv4 \
tst-iconv6
ifeq ($(have-thread-library),yes)
tests += bug-iconv3
endif

35
iconvdata/tst-iconv6.c Normal file
View File

@ -0,0 +1,35 @@
/* BZ #2569 */
#include <iconv.h>
#include <stdio.h>
static int
do_test (void)
{
iconv_t cd0 = iconv_open ("ISO-8859-7", "UTF-16LE");
if (cd0 == (iconv_t) -1)
{
puts ("first iconv_open failed");
return 1;
}
iconv_t cd1 = iconv_open ("ISO-8859-7", "UTF-16LE");
if (cd1 == (iconv_t) -1)
{
puts ("second iconv_open failed");
return 1;
}
if (iconv_close (cd0) != 0)
{
puts ("first iconv_close failed");
return 1;
}
if (iconv_close (cd1) != 0)
{
puts ("second iconv_close failed");
return 1;
}
return 0;
}
#define TEST_FUNCTION do_test ()
#include "../test-skeleton.c"