From b1d5c752fbafe0433508e6719d576072fd938e01 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 13 Jul 2007 02:16:27 +0000 Subject: * parse.y (dsym): convert also literals containing NUL to symbol. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12750 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 ++++- parse.y | 9 +++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 51006c0d5d..3e5f79eea2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,10 @@ -Fri Jul 13 11:09:38 2007 Nobuyoshi Nakada +Fri Jul 13 11:16:25 2007 Nobuyoshi Nakada * parse.y (program, stmt, primary): reduced duplicated code. + * parse.y (dsym): convert also literals containing NUL to + symbol. + Fri Jul 13 10:33:29 2007 Nobuyoshi Nakada * array.c (rb_ary_flatten_bang): check argument if valid diff --git a/parse.y b/parse.y index 23f2aef3d1..70c0850b37 100644 --- a/parse.y +++ b/parse.y @@ -3864,12 +3864,9 @@ dsym : tSYMBEG xstring_contents tSTRING_END yyerror("empty symbol literal"); break; } - if (strlen(RSTRING_PTR(lit)) == RSTRING_LEN(lit)) { - $$->nd_lit = ID2SYM(rb_intern(RSTRING_PTR($$->nd_lit))); - nd_set_type($$, NODE_LIT); - break; - } - /* fall through */ + $$->nd_lit = ID2SYM(rb_intern2(RSTRING_PTR(lit), RSTRING_LEN(lit))); + nd_set_type($$, NODE_LIT); + break; default: $$ = NEW_NODE(NODE_DSYM, rb_str_new(0, 0), 1, NEW_LIST($$)); break; -- cgit v1.2.3