diff options
Diffstat (limited to 'byterun/callback.c')
-rw-r--r-- | byterun/callback.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/byterun/callback.c b/byterun/callback.c index a960df5448..bfafd349d5 100644 --- a/byterun/callback.c +++ b/byterun/callback.c @@ -220,6 +220,12 @@ CAMLprim value caml_register_named_value(value vname, value val) char * name = String_val(vname); unsigned int h = hash_value_name(name); + for (nv = named_value_table[h]; nv != NULL; nv = nv->next) { + if (strcmp(name, nv->name) == 0) { + nv->val = val; + return Val_unit; + } + } nv = (struct named_value *) caml_stat_alloc(sizeof(struct named_value) + strlen(name)); strcpy(nv->name, name); |