diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-03-04 23:59:18 -0800 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-03-04 23:59:18 -0800 |
| commit | 83c5274a71ea7fc40427029033edc99224e008e0 (patch) | |
| tree | 2eaf6cd3f7770069eddd123e52bd4ecf466fda8b | |
| parent | f962068d40d3a78bbe3590ec095ed0d6ff4fbae6 (diff) | |
| parent | 9d3a864a86ffa3f14fa0b9682f950717e603d263 (diff) | |
| download | mruby-83c5274a71ea7fc40427029033edc99224e008e0.tar.gz mruby-83c5274a71ea7fc40427029033edc99224e008e0.zip | |
Merge pull request #949 from mattn/find_symbol
Skip end of loop in mrb_sym2name_len
| -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 |
