diff --git a/src/program.c b/src/program.c index a415947f6fd73637b89e631a05898131d024e510..5f2f7194ee043d12993d78786ef18c8ebcb2f78c 100644 --- a/src/program.c +++ b/src/program.c @@ -11460,7 +11460,7 @@ void pop_compiler_frame(void) } -PMOD_EXPORT char *get_inherit_storage(struct object *o, int inherit) +PMOD_EXPORT void *get_inherit_storage(struct object *o, int inherit) { if (!o || !o->prog) return NULL; #ifdef PIKE_DEBUG @@ -11488,11 +11488,7 @@ PMOD_EXPORT ptrdiff_t low_get_storage(struct program *o, struct program *p) oid=o->id; pid=p->id; hval=(unsigned)oid*9248339 + (unsigned)pid; - hval%=GET_STORAGE_CACHE_SIZE; -#ifdef PIKE_DEBUG - if(hval>GET_STORAGE_CACHE_SIZE) - Pike_fatal("hval>GET_STORAGE_CACHE_SIZE\n"); -#endif + hval&=GET_STORAGE_CACHE_SIZE-1; if(get_storage_cache[hval].oid == oid && get_storage_cache[hval].pid == pid) { @@ -11517,7 +11513,7 @@ PMOD_EXPORT ptrdiff_t low_get_storage(struct program *o, struct program *p) return offset; } -PMOD_EXPORT char *get_storage(struct object *o, struct program *p) +PMOD_EXPORT void *get_storage(struct object *o, struct program *p) { ptrdiff_t offset; diff --git a/src/program.h b/src/program.h index ad084efa94aa3463cf059bc13255418ff24ebc08..b58173e9344a629809f167bd4c94bd76cca39d59 100644 --- a/src/program.h +++ b/src/program.h @@ -1039,9 +1039,9 @@ void push_compiler_frame(int lexical_scope); void low_pop_local_variables(int level); void pop_local_variables(int level); void pop_compiler_frame(void); -PMOD_EXPORT char *get_inherit_storage(struct object *o, int inherit); +PMOD_EXPORT void *get_inherit_storage(struct object *o, int inherit); PMOD_EXPORT ptrdiff_t low_get_storage(struct program *o, struct program *p); -PMOD_EXPORT char *get_storage(struct object *o, struct program *p); +PMOD_EXPORT void *get_storage(struct object *o, struct program *p); PMOD_EXPORT struct program *low_program_from_function(struct object *o, INT32 i); PMOD_EXPORT struct program *program_from_function(const struct svalue *f); PMOD_EXPORT struct program *program_from_type(const struct pike_type *t);