2009-01-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/sysv/linux/tst-clone.c (do_test): Avoid warning.

	* misc/hsearch_r.c (hcreate_r): We need at least three elements in
	the hash table.
	* misc/Makefile (tests): Add bug-hsearch1.
	* misc/bug-hsearch1.c: New file.
This commit is contained in:
Ulrich Drepper 2009-01-23 20:41:36 +00:00
parent 8073a49484
commit 25e8417764
4 changed files with 45 additions and 5 deletions

View File

@ -1,3 +1,12 @@
2009-01-23 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/tst-clone.c (do_test): Avoid warning.
* misc/hsearch_r.c (hcreate_r): We need at least three elements in
the hash table.
* misc/Makefile (tests): Add bug-hsearch1.
* misc/bug-hsearch1.c: New file.
2009-01-22 Roland McGrath <roland@redhat.com>
* Makeconfig (%.v.i): Strip trailing # comments,

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991-2006, 2007 Free Software Foundation, Inc.
# Copyright (C) 1991-2006, 2007, 2009 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
@ -79,7 +79,7 @@ endif
gpl2lgpl := error.c error.h
tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch \
tst-error1 tst-pselect tst-insremque tst-mntent2
tst-error1 tst-pselect tst-insremque tst-mntent2 bug-hsearch1
ifeq (no,$(cross-compiling))
tests: $(objpfx)tst-error1-mem
endif

31
misc/bug-hsearch1.c Normal file
View File

@ -0,0 +1,31 @@
#include <search.h>
#include <stdio.h>
static int
do_test (void)
{
if (hcreate (1) == 0)
{
puts ("hcreate failed");
return 1;
}
ENTRY e;
e.key = (char *) "a";
e.data = (char *) "b";
if (hsearch (e, ENTER) == NULL)
{
puts ("ENTER failed");
return 1;
}
ENTRY s;
s.key = (char *) "c";
if (hsearch (s, FIND) != NULL)
{
puts ("FIND succeeded");
return 1;
}
return 0;
}
#define TEST_FUNCTION do_test ()
#include "../test-skeleton.c"

View File

@ -1,5 +1,5 @@
/* Test for proper error/errno handling in clone.
Copyright (C) 2006 Free Software Foundation, Inc.
Copyright (C) 2006, 2009 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
@ -36,9 +36,9 @@ do_test (void)
int result;
#ifdef __ia64__
result = __clone2(child_fn, NULL, 0, 0, NULL, NULL, NULL);
result = __clone2 (child_fn, NULL, 0, 0, NULL, NULL, NULL);
#else
result = clone(child_fn, NULL, (int) NULL, NULL);
result = clone (child_fn, NULL, 0, NULL);
#endif
if (errno != EINVAL || result != -1)