diff options
-rw-r--r-- | lstring.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lstring.c,v 1.37 2000/05/24 13:54:49 roberto Exp roberto $ | 2 | ** $Id: lstring.c,v 1.38 2000/06/12 13:52:05 roberto Exp roberto $ |
3 | ** String table (keeps all strings handled by Lua) | 3 | ** String table (keeps all strings handled by Lua) |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -37,7 +37,7 @@ void luaS_freeall (lua_State *L) { | |||
37 | 37 | ||
38 | static unsigned long hash_s (const char *s, size_t l) { | 38 | static unsigned long hash_s (const char *s, size_t l) { |
39 | unsigned long h = l; /* seed */ | 39 | unsigned long h = l; /* seed */ |
40 | size_t step = (l>>6)|1; /* if string is too long, don't hash all its chars */ | 40 | size_t step = (l>>5)|1; /* if string is too long, don't hash all its chars */ |
41 | for (; l>=step; l-=step) | 41 | for (; l>=step; l-=step) |
42 | h = h ^ ((h<<5)+(h>>2)+(unsigned char)*(s++)); | 42 | h = h ^ ((h<<5)+(h>>2)+(unsigned char)*(s++)); |
43 | return h; | 43 | return h; |