projects
/
YACASL2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Doxygen設定ファイルを1.8.20向けに更新
[YACASL2.git]
/
src
/
hash.c
diff --git
a/src/hash.c
b/src/hash.c
index
54f38ab
..
f4e8b9f
100644
(file)
--- a/
src/hash.c
+++ b/
src/hash.c
@@
-1,21
+1,21
@@
#include "hash.h"
#include "hash.h"
-/* ハッシュ値を取得する */
unsigned hash(int keyc, HKEY *keyv[], int tabsize)
{
unsigned hash(int keyc, HKEY *keyv[], int tabsize)
{
- int i;
- char *p;
unsigned hashval = 0;
unsigned hashval = 0;
+ enum {
+ HASHNUM = 31
+ };
- for(i = 0; i < keyc; i++) {
+ for(i
nt i
= 0; i < keyc; i++) {
switch(keyv[i]->type) {
case CHARS:
switch(keyv[i]->type) {
case CHARS:
- for(
p = keyv[i]->val.s; *p != '\0'; p
++) {
- hashval =
*p + 31
* hashval;
+ for(
int j = 0; keyv[i]->val.s[j]; j
++) {
+ hashval =
keyv[i]->val.s[j] + HASHNUM
* hashval;
}
break;
case INT:
}
break;
case INT:
- hashval = keyv[i]->val.i +
31
* hashval;
+ hashval = keyv[i]->val.i +
HASHNUM
* hashval;
break;
default:
break;
break;
default:
break;