summaryrefslogtreecommitdiffhomepage
path: root/src/codegen.c
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-06-21 16:22:29 +0900
committerYukihiro Matsumoto <[email protected]>2012-06-21 16:22:29 +0900
commita70c4e0c790b9ddb4dbca143cffa585b3841b9f6 (patch)
tree1cbbe65814a65c8969b1337bdb0fadae32b85e70 /src/codegen.c
parentd105ea496f686b6ef3071e127864fab4677befac (diff)
downloadmruby-a70c4e0c790b9ddb4dbca143cffa585b3841b9f6.tar.gz
mruby-a70c4e0c790b9ddb4dbca143cffa585b3841b9f6.zip
reduce calling of strlen(); #301
Diffstat (limited to 'src/codegen.c')
-rw-r--r--src/codegen.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/codegen.c b/src/codegen.c
index 3374b2e7f..27fd20ee4 100644
--- a/src/codegen.c
+++ b/src/codegen.c
@@ -542,16 +542,17 @@ nosplat(node *t)
static mrb_sym
attrsym(codegen_scope *s, mrb_sym a)
{
- const char *name = mrb_sym2name(s->mrb, a);
+ const char *name;
+ int len;
char *name2;
- size_t len = strlen(name);
+ name = mrb_sym2name(s->mrb, a, &len);
name2 = codegen_palloc(s, len+1);
strcpy(name2, name);
name2[len] = '=';
name2[len+1] = '\0';
- return mrb_intern(s->mrb, name2);
+ return mrb_intern2(s->mrb, name2, len+1);
}
static int