mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-22 19:00:07 +00:00
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>
|
2002-01-18 Wolfram Gloger <wg@malloc.de>
|
||||||
|
|
||||||
* malloc/malloc.c: Rewrite, adapted from Doug Lea's malloc-2.7.0.c.
|
* 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.
|
# This file is part of the GNU C Library.
|
||||||
|
|
||||||
# The GNU C Library is free software; you can redistribute it and/or
|
# 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
|
endif
|
||||||
gpl2lgpl := error.c error.h
|
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-tsearch.c = $(exceptions)
|
||||||
CFLAGS-lsearch.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.
|
This file is part of the GNU C Library.
|
||||||
Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1993.
|
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
|
if (htab->table[idx].used == hval
|
||||||
&& strcmp (item.key, htab->table[idx].entry.key) == 0)
|
&& strcmp (item.key, htab->table[idx].entry.key) == 0)
|
||||||
{
|
{
|
||||||
if (action == ENTER)
|
|
||||||
htab->table[idx].entry.data = item.data;
|
|
||||||
|
|
||||||
*retval = &htab->table[idx].entry;
|
*retval = &htab->table[idx].entry;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@ -195,9 +192,6 @@ hsearch_r (item, action, retval, htab)
|
|||||||
if (htab->table[idx].used == hval
|
if (htab->table[idx].used == hval
|
||||||
&& strcmp (item.key, htab->table[idx].entry.key) == 0)
|
&& strcmp (item.key, htab->table[idx].entry.key) == 0)
|
||||||
{
|
{
|
||||||
if (action == ENTER)
|
|
||||||
htab->table[idx].entry.data = item.data;
|
|
||||||
|
|
||||||
*retval = &htab->table[idx].entry;
|
*retval = &htab->table[idx].entry;
|
||||||
return 1;
|
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