diff options
| author | crimsonwoods <[email protected]> | 2013-12-23 00:33:07 -0800 |
|---|---|---|
| committer | crimsonwoods <[email protected]> | 2013-12-23 00:33:07 -0800 |
| commit | 370ad6fade6a9915be2541f089ebf2e3def7bd1d (patch) | |
| tree | 696d2b61b06014ceba5322074043e9d308d50fe7 /src/symbol.c | |
| parent | 83c45e73d4d52b25573c90e526e6be8c087700f6 (diff) | |
| download | mruby-370ad6fade6a9915be2541f089ebf2e3def7bd1d.tar.gz mruby-370ad6fade6a9915be2541f089ebf2e3def7bd1d.zip | |
Remove 'mrb_state' field from 'kh_xxx_t' structure.
'kh_xxx_t' requires 'mrb_state' to allocate, free, and compute hash value.
But 'mrb_state' should not be held by 'kh_xxx_t' and 'mrb_state' should be
supplied from outside.
Diffstat (limited to 'src/symbol.c')
| -rw-r--r-- | src/symbol.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/symbol.c b/src/symbol.c index 1dbc9a7bd..5ca6413c3 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -45,7 +45,7 @@ mrb_intern(mrb_state *mrb, const char *name, size_t len) sname.len = len; sname.name = name; - k = kh_get(n2s, h, sname); + k = kh_get(n2s, mrb, h, sname); if (k != kh_end(h)) return kh_value(h, k); @@ -54,7 +54,7 @@ mrb_intern(mrb_state *mrb, const char *name, size_t len) memcpy(p, name, len); p[len] = 0; sname.name = (const char*)p; - k = kh_put(n2s, h, sname); + k = kh_put(n2s, mrb, h, sname); kh_value(h, k) = sym; return sym; @@ -82,7 +82,7 @@ mrb_check_intern(mrb_state *mrb, const char *name, size_t len) sname.len = len; sname.name = name; - k = kh_get(n2s, h, sname); + k = kh_get(n2s, mrb, h, sname); if (k != kh_end(h)) { return mrb_symbol_value(kh_value(h, k)); } @@ -130,7 +130,7 @@ mrb_free_symtbl(mrb_state *mrb) for (k = kh_begin(h); k != kh_end(h); k++) if (kh_exist(h, k)) mrb_free(mrb, (char*)kh_key(h, k).name); - kh_destroy(n2s,mrb->name2sym); + kh_destroy(n2s, mrb, mrb->name2sym); } void |
