From 2604afb1b2d9acc3c70b1214285f996200bf0358 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 21 Sep 1997 01:47:02 +0000 Subject: Update. 1997-09-21 03:19 Ulrich Drepper * libio/libio.h: More libstdc++ cleanups. Define _IO_USE_DTOA if _G_HAVE_PRINTF_FP is not defined. * libio/strops.c: Undo patch of 1997-07-08 02:18. Must find a different solution for the problem. * misc/search.h [__USE_GNU]: Define comparison_fn_t. * stdlib/stdlib.h: Define comparison_fn_t only if __COMPAR_FN_T is not defined. Fix typo. Pretty print inline functions. * sysdeps/i386/i486/string.h (__stpcpy_small): Increment __cp not cp. Patch by HJ Lu . 1997-09-20 16:45 Ulrich Drepper * hesiod/hesiod.c (hesiod_init): Use __secure_getenv to get HES_DOMAIN environment variable. Suggested by Mark Kettenis . * hesiod/README.hesiod: A bit of information about Hesiod and how to use it. Written by Mark Kettenis . 1997-09-20 05:15 Ulrich Drepper * manual/maint.texi: Update requirement list. * io/ftw.h: Don't use parameter names from global namespace in prototypes. * stdlib/strtol.c: If used outside glibc handle broken systems which have character classification functions which are not 8-bit clean gracefully. Patch by Bruno Haible . 1997-09-19 21:42 David S. Miller * sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: ssize_t is a long long int. 1997-09-19 15:12 H.J. Lu * posix/Makefile (test-srcs): New, set to globtest. 1997-09-20 00:24 Ulrich Drepper * manual/filesys.texi: Document ftw, nftw and needed data types. 1997-09-19 12:53 H.J. Lu * sysdeps/i386/i486/bits/string.h: Fix typo. 1997-09-19 14:11 Ulrich Drepper * io/ftwtest.c (cb): Print level. * io/ftwtest-sh: Updated for ftwtest.c change. * string/argz.h (__argz_next): Cast NULL to char * to satisfy C++ compilers. Reported by Mirko Streckenbach . * catgets/catgets.c (catopen): Correctly allocate string of nlspath. Reported by Charles C. Fu . 1997-09-18 13:30 Klaus Espenlaub * sysdeps/i386/init-first.c: Call __getopt_clean_environment with additional argument. * sysdeps/mach/hurd/i386/init-first.c: Likewise. * sysdeps/mach/hurd/mips/init-first.c: Likewise. * sysdeps/stub/init-first.c: Likewise. 1997-09-18 03:16 Ulrich Drepper * manual/search.texi: Document lsearch, lfind, the hsearch and tsearch functions. 1997-09-18 00:04 Ulrich Drepper * misc/hsearch_r.c (hsearch_r): Only return error for ENTER action if the table is full and we *really* have to enter a new entry. 1997-09-17 19:44 Ulrich Drepper * sysdeps/sparc/sparc32/dl-machine.h (elf_machine_rela): Get rid of hack for handling flush opcode. Patch by Richard Henderson . --- misc/hsearch_r.c | 22 +++++++++++----------- misc/search.h | 4 ++++ 2 files changed, 15 insertions(+), 11 deletions(-) (limited to 'misc') diff --git a/misc/hsearch_r.c b/misc/hsearch_r.c index 980b7c8..d9255e1 100644 --- a/misc/hsearch_r.c +++ b/misc/hsearch_r.c @@ -1,6 +1,6 @@ -/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc. - Contributed by Ulrich Drepper +/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 1993. The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as @@ -143,15 +143,6 @@ hsearch_r (item, action, retval, htab) unsigned int len = strlen (item.key); unsigned int idx; - /* If table is full and another entry should be entered return with - error. */ - if (action == ENTER && htab->filled == htab->size) - { - __set_errno (ENOMEM); - *retval = NULL; - return 0; - } - /* Compute an value for the given string. Perhaps use a better method. */ hval = len; count = len; @@ -213,6 +204,15 @@ hsearch_r (item, action, retval, htab) /* An empty bucket has been found. */ if (action == ENTER) { + /* If table is full and another entry should be entered return + with error. */ + if (action == ENTER && htab->filled == htab->size) + { + __set_errno (ENOMEM); + *retval = NULL; + return 0; + } + htab->table[idx].used = hval; htab->table[idx].entry = item; diff --git a/misc/search.h b/misc/search.h index 2b01064..1cd4fdb 100644 --- a/misc/search.h +++ b/misc/search.h @@ -52,6 +52,10 @@ extern void remque __P ((void *__elem)); #ifndef __COMPAR_FN_T # define __COMPAR_FN_T typedef int (*__compar_fn_t) __P ((__const __ptr_t, __const __ptr_t)); + +# ifdef __USE_GNU +typedef __compar_fn_t comparison_fn_t; +# endif #endif /* Action which shall be performed in the call the hsearch. */ -- cgit v1.1