From e129c38131d7ef9988e3ab8124f47d14db1c32f6 Mon Sep 17 00:00:00 2001 From: Per Hedbor <ph@opera.com> Date: Mon, 26 May 2014 17:14:49 +0200 Subject: [PATCH] Changed return type of get_{inherit_,}storae to void* This makes it possible to remove quite a lot of casts. --- src/program.c | 10 +++------- src/program.h | 4 ++-- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/program.c b/src/program.c index a415947f6f..5f2f7194ee 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 ad084efa94..b58173e934 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); -- GitLab