Update.
2002-01-29 Ulrich Drepper <drepper@redhat.com> * misc/hsearch_r.c (hsearch_r): Don't insert anything if entry is found. * misc/Makefile (tests): Add tst-hsearch. * misc/tst-hsearch.c: New file.
This commit is contained in:
parent
fa8d436c87
commit
92f120d446
@ -1,3 +1,10 @@
|
||||
2002-01-29 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* misc/hsearch_r.c (hsearch_r): Don't insert anything if entry is
|
||||
found.
|
||||
* misc/Makefile (tests): Add tst-hsearch.
|
||||
* misc/tst-hsearch.c: New file.
|
||||
|
||||
2002-01-18 Wolfram Gloger <wg@malloc.de>
|
||||
|
||||
* malloc/malloc.c: Rewrite, adapted from Doug Lea's malloc-2.7.0.c.
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1991-1999,2000,01 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1991-1999, 2000, 2001, 2002 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
|
||||
@ -70,7 +70,7 @@ install-lib := libbsd-compat.a libg.a
|
||||
endif
|
||||
gpl2lgpl := error.c error.h
|
||||
|
||||
tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent
|
||||
tests := tst-dirname tst-tsearch tst-fdset tst-efgcvt tst-mntent tst-hsearch
|
||||
|
||||
CFLAGS-tsearch.c = $(exceptions)
|
||||
CFLAGS-lsearch.c = $(exceptions)
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1993, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1993.
|
||||
|
||||
@ -168,9 +168,6 @@ hsearch_r (item, action, retval, htab)
|
||||
if (htab->table[idx].used == hval
|
||||
&& strcmp (item.key, htab->table[idx].entry.key) == 0)
|
||||
{
|
||||
if (action == ENTER)
|
||||
htab->table[idx].entry.data = item.data;
|
||||
|
||||
*retval = &htab->table[idx].entry;
|
||||
return 1;
|
||||
}
|
||||
@ -195,9 +192,6 @@ hsearch_r (item, action, retval, htab)
|
||||
if (htab->table[idx].used == hval
|
||||
&& strcmp (item.key, htab->table[idx].entry.key) == 0)
|
||||
{
|
||||
if (action == ENTER)
|
||||
htab->table[idx].entry.data = item.data;
|
||||
|
||||
*retval = &htab->table[idx].entry;
|
||||
return 1;
|
||||
}
|
||||
|
31
misc/tst-hsearch.c
Normal file
31
misc/tst-hsearch.c
Normal file
@ -0,0 +1,31 @@
|
||||
#include <search.h>
|
||||
#include <stdio.h>
|
||||
|
||||
int
|
||||
main (void)
|
||||
{
|
||||
int a = 1;
|
||||
int b = 2;
|
||||
ENTRY i;
|
||||
ENTRY *e;
|
||||
|
||||
if (hcreate (20) == 0)
|
||||
{
|
||||
puts ("hcreate failed");
|
||||
return 1;
|
||||
}
|
||||
|
||||
i.key = (char *) "one";
|
||||
i.data = &a;
|
||||
if (hsearch (i, ENTER) == NULL)
|
||||
return 1;
|
||||
|
||||
i.key = (char *) "one";
|
||||
i.data = &b;
|
||||
e = hsearch (i, ENTER);
|
||||
printf ("e.data = %d\n", *(int *) e->data);
|
||||
if (*(int *) e->data != 1)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user