about summary refs log tree commit diff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/hsearch_r.c22
-rw-r--r--misc/search.h4
2 files changed, 15 insertions, 11 deletions
diff --git a/misc/hsearch_r.c b/misc/hsearch_r.c
index 980b7c8d72..d9255e1c6b 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 <drepper@gnu.ai.mit.edu>
+/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
+   Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 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 2b0106463d..1cd4fdb9ef 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.  */