diff --git a/src/stralloc.c b/src/stralloc.c index 6e5847e8916b0b010b97a9c9ce8165a15a5215e1..f6d77b5f10b7e5ce55a3656a48df6dc2f82b6eb8 100644 --- a/src/stralloc.c +++ b/src/stralloc.c @@ -25,6 +25,10 @@ static unsigned int StrHash(const char *s,int len) #ifdef DEBUG void check_string(struct lpc_string *s) { + StrHash(s->str, s->len); + if(full_hash_value != s->hval) + fatal("Hash value changed?\n"); + if(debug_findstring(s) !=s) fatal("Shared string not shared.\n"); @@ -133,7 +137,7 @@ static struct lpc_string *propagate_shared_string(const struct lpc_string *s,int #ifdef DEBUG struct lpc_string *debug_findstring(const struct lpc_string *foo) { - return propagate_shared_string(foo, StrHash(foo->str, foo->len)); + return propagate_shared_string(foo, foo->hval % HTABLE_SIZE); } #endif