summaryrefslogtreecommitdiff
path: root/libc/misc/search
diff options
context:
space:
mode:
Diffstat (limited to 'libc/misc/search')
-rw-r--r--libc/misc/search/hsearch.c4
-rw-r--r--libc/misc/search/hsearch_r.c12
-rw-r--r--libc/misc/search/tsearch.c3
3 files changed, 12 insertions, 7 deletions
diff --git a/libc/misc/search/hsearch.c b/libc/misc/search/hsearch.c
index 067e4973b..a9400f3ca 100644
--- a/libc/misc/search/hsearch.c
+++ b/libc/misc/search/hsearch.c
@@ -17,6 +17,10 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#define hdestroy_r __hdestroy_r
+#define hsearch_r __hsearch_r
+#define hcreate_r __hcreate_r
+
#ifndef _GNU_SOURCE
#define _GNU_SOURCE
#endif
diff --git a/libc/misc/search/hsearch_r.c b/libc/misc/search/hsearch_r.c
index 0f96180b1..d297b3280 100644
--- a/libc/misc/search/hsearch_r.c
+++ b/libc/misc/search/hsearch_r.c
@@ -67,7 +67,7 @@ static int isprime (unsigned int number)
indexing as explained in the comment for the hsearch function.
The contents of the table is zeroed, especially the field used
becomes zero. */
-int hcreate_r (size_t nel, struct hsearch_data *htab)
+int attribute_hidden __hcreate_r (size_t nel, struct hsearch_data *htab)
{
/* Test for correct arguments. */
if (htab == NULL)
@@ -96,13 +96,13 @@ int hcreate_r (size_t nel, struct hsearch_data *htab)
/* everything went alright */
return 1;
}
-/* libc_hidden_def (hcreate_r) */
+strong_alias(__hcreate_r,hcreate_r)
#endif
#ifdef L_hdestroy_r
/* After using the hash table it has to be destroyed. The used memory can
be freed and the local static variable can be marked as not used. */
-void hdestroy_r (struct hsearch_data *htab)
+void attribute_hidden __hdestroy_r (struct hsearch_data *htab)
{
/* Test for correct arguments. */
if (htab == NULL)
@@ -118,7 +118,7 @@ void hdestroy_r (struct hsearch_data *htab)
/* the sign for an existing table is an value != NULL in htable */
htab->table = NULL;
}
-/* libc_hidden_def (hdestroy_r) */
+strong_alias(__hdestroy_r,hdestroy_r)
#endif
#ifdef L_hsearch_r
@@ -135,7 +135,7 @@ void hdestroy_r (struct hsearch_data *htab)
means used. The used field can be used as a first fast comparison for
equality of the stored and the parameter value. This helps to prevent
unnecessary expensive calls of strcmp. */
-int hsearch_r (ENTRY item, ACTION action, ENTRY **retval,
+int attribute_hidden __hsearch_r (ENTRY item, ACTION action, ENTRY **retval,
struct hsearch_data *htab)
{
unsigned int hval;
@@ -224,5 +224,5 @@ int hsearch_r (ENTRY item, ACTION action, ENTRY **retval,
*retval = NULL;
return 0;
}
-/* libc_hidden_def (hsearch_r) */
+strong_alias(__hsearch_r,hsearch_r)
#endif
diff --git a/libc/misc/search/tsearch.c b/libc/misc/search/tsearch.c
index 1da6b571e..93a2c678f 100644
--- a/libc/misc/search/tsearch.c
+++ b/libc/misc/search/tsearch.c
@@ -205,13 +205,14 @@ tdestroy_recurse (node *root, __free_fn_t freefct)
free (root);
}
-void tdestroy (void *vroot, __free_fn_t freefct)
+void attribute_hidden __tdestroy (void *vroot, __free_fn_t freefct)
{
node *root = (node *) vroot;
if (root != NULL) {
tdestroy_recurse (root, freefct);
}
}
+strong_alias(__tdestroy,tdestroy)
#endif
/* tsearch.c ends here */