diff options
| author | mattn <[email protected]> | 2013-03-05 10:48:05 +0900 |
|---|---|---|
| committer | mattn <[email protected]> | 2013-03-05 10:48:05 +0900 |
| commit | 9d3a864a86ffa3f14fa0b9682f950717e603d263 (patch) | |
| tree | ec59fb3989d7fec92f9d14986f548e695490a9ac | |
| parent | 5a153851c3bc4aa96840438441d5a4c96906b299 (diff) | |
| download | mruby-9d3a864a86ffa3f14fa0b9682f950717e603d263.tar.gz mruby-9d3a864a86ffa3f14fa0b9682f950717e603d263.zip | |
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 |
