diff options
author | Roland McGrath <roland@gnu.org> | 2002-08-28 07:29:53 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2002-08-28 07:29:53 +0000 |
commit | a3f9038c879c11344430169d6daa8fad30d4f379 (patch) | |
tree | 3f8a79ac51aa7200d53aef80763961bff04e21c6 /locale/programs/locarchive.c | |
parent | 75261665f1dd29bdfedfe653a8d102fab2d012e6 (diff) | |
download | glibc-a3f9038c879c11344430169d6daa8fad30d4f379.tar.gz glibc-a3f9038c879c11344430169d6daa8fad30d4f379.tar.xz glibc-a3f9038c879c11344430169d6daa8fad30d4f379.zip |
Roland McGrath <roland@redhat.com>
* locale/hashval.h (compute_hashval): Use prototype defn. (hashval_t): New macro, defined to unsigned long int if not already defined. (compute_hashval): Return hashval_t instead of unsigned long int. * locale/loadarchive.c (hashval_t): New macro. * locale/programs/locarchive.c: Include hashval.h directly instead of simple-hash.h. (compute_hashval, hashval_t): Define these macros first. (insert_name): Use archive_hashval instead of compute_hashval. (add_locale, delete_locales_from_archive): Likewise. 2002-08-28 Jakub Jelinek <jakub@redhat.com>
Diffstat (limited to 'locale/programs/locarchive.c')
-rw-r--r-- | locale/programs/locarchive.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/locale/programs/locarchive.c b/locale/programs/locarchive.c index 967589f0a4..07ec3bbc37 100644 --- a/locale/programs/locarchive.c +++ b/locale/programs/locarchive.c @@ -43,9 +43,15 @@ #include "../../crypt/md5.h" #include "../localeinfo.h" #include "../locarchive.h" -#include "simple-hash.h" #include "localedef.h" +/* Define the hash function. We define the function as static inline. + We must change the name so as not to conflict with simple-hash.h. */ +#define compute_hashval static inline archive_hashval +#define hashval_t uint32_t +#include "hashval.h" +#undef compute_hashval + extern const char *output_prefix; #define ARCHIVE_NAME LOCALEDIR "/locale-archive" @@ -522,7 +528,7 @@ insert_name (struct locarhandle *ah, unsigned int insert_idx, idx, incr; /* Hash value of the locale name. */ - uint32_t hval = compute_hashval (name, name_len); + uint32_t hval = archive_hashval (name, name_len); insert_idx = -1; idx = hval % head->namehash_size; @@ -720,7 +726,7 @@ add_locale (struct locarhandle *ah, /* Compute the hash value of the checksum to determine a starting point for the search in the MD5 hash value table. */ - hval = compute_hashval (data[cnt].sum, 16); + hval = archive_hashval (data[cnt].sum, 16); idx = hval % head->sumhash_size; incr = 1 + hval % (head->sumhash_size - 2); @@ -812,7 +818,7 @@ add_locale (struct locarhandle *ah, error (EXIT_FAILURE, errno, _("cannot add to locale archive")); /* Add the hash value to the hash table. */ - md5hval = compute_hashval (data[cnt].sum, 16); + md5hval = archive_hashval (data[cnt].sum, 16); idx = md5hval % head->sumhash_size; incr = 1 + md5hval % (head->sumhash_size - 2); @@ -1303,7 +1309,7 @@ delete_locales_from_archive (nlist, list) unsigned int incr; /* Search for this locale in the archive. */ - hval = compute_hashval (locname, strlen (locname)); + hval = archive_hashval (locname, strlen (locname)); idx = hval % head->namehash_size; incr = 1 + hval % (head->namehash_size - 2); |