summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-29 02:35:11 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-10-29 02:35:11 +0000
commit1b66559c660a307598c58a1d37439baa916ab97c (patch)
treec525b35712cbd62190497792e485a03928342b87 /parse.y
parente954bfb6ef6f0fd050c8e3035ec6edf3d25b70d6 (diff)
* parse.y (rb_parser_append_print, rb_parser_while_loop): body node
can be empty. [ruby-dev:24628] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7130 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y10
1 files changed, 6 insertions, 4 deletions
diff --git a/parse.y b/parse.y
index d18c59b06b..123fa9e6a0 100644
--- a/parse.y
+++ b/parse.y
@@ -7771,9 +7771,10 @@ NODE*
rb_parser_append_print(node)
NODE *node;
{
- NODE *prelude = (nd_type(node) == NODE_PRELUDE) ? node : 0;
+ NODE *prelude = 0;
- if (prelude) {
+ if (node && (nd_type(node) == NODE_PRELUDE)) {
+ prelude = node;
node = node->nd_body;
}
node = block_append(node,
@@ -7791,9 +7792,10 @@ rb_parser_while_loop(node, chop, split)
NODE *node;
int chop, split;
{
- NODE *prelude = (nd_type(node) == NODE_PRELUDE) ? node : 0;
+ NODE *prelude = 0;
- if (prelude) {
+ if (node && (nd_type(node) == NODE_PRELUDE)) {
+ prelude = node;
node = node->nd_body;
}
if (split) {