From 3fbc65d47fe8d446dde8fe77d3b76fb81f8ffba1 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 26 Jul 2011 16:05:27 +0000 Subject: * parse.y (rb_check_id): make the given name a symbol or a string. based on the second patch by Jeremy Evans at [ruby-core:38447] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32684 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index 315723287f..eb5f7fa5e6 100644 --- a/parse.y +++ b/parse.y @@ -10105,10 +10105,11 @@ rb_is_junk_id(ID id) } ID -rb_check_id(VALUE name) +rb_check_id(volatile VALUE *namep) { st_data_t id; VALUE tmp; + VALUE name = *namep; if (SYMBOL_P(name)) { return SYM2ID(name); @@ -10121,6 +10122,7 @@ rb_check_id(VALUE name) RSTRING_PTR(tmp)); } name = tmp; + *namep = name; } if (rb_enc_str_coderange(name) == ENC_CODERANGE_BROKEN) { -- cgit v1.2.3