summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-03-04 23:59:18 -0800
committerYukihiro "Matz" Matsumoto <[email protected]>2013-03-04 23:59:18 -0800
commit83c5274a71ea7fc40427029033edc99224e008e0 (patch)
tree2eaf6cd3f7770069eddd123e52bd4ecf466fda8b /src
parentf962068d40d3a78bbe3590ec095ed0d6ff4fbae6 (diff)
parent9d3a864a86ffa3f14fa0b9682f950717e603d263 (diff)
downloadmruby-83c5274a71ea7fc40427029033edc99224e008e0.tar.gz
mruby-83c5274a71ea7fc40427029033edc99224e008e0.zip
Merge pull request #949 from mattn/find_symbol
Skip end of loop in mrb_sym2name_len
Diffstat (limited to 'src')
-rw-r--r--src/symbol.c15
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