diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/symbol.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/symbol.c b/src/symbol.c index 81c28d265..72a5bea6b 100644 --- a/src/symbol.c +++ b/src/symbol.c @@ -81,16 +81,15 @@ mrb_sym2name_len(mrb_state *mrb, mrb_sym sym, int *lenp) for (k = kh_begin(h); k != kh_end(h); k++) { if (kh_exist(h, k)) { - if (kh_value(h, k) == sym) break; + if (kh_value(h, k) == sym) { + sname = kh_key(h, k); + *lenp = sname.len; + return sname.name; + } } } - if (k == kh_end(h)) { - *lenp = 0; - return NULL; /* missing */ - } - sname = kh_key(h, k); - *lenp = sname.len; - return sname.name; + *lenp = 0; + return NULL; /* missing */ } void |
