CVS commit by pmk: fix for crash on http://www.businessweek.com/ (empty scripts were not getting source file/line no. information set) M +8 -7 grammar.cpp 1.44 M +1 -0 grammar.y 1.48 --- kdelibs/kjs/grammar.cpp #1.43:1.44 @@ -333,5 +333,5 @@ static const short yyrline[] = { 0, 553, 555, 558, 560, 563, 569, 573, 575, 576, 579, 584, 588, 591, 594, 597, 602, 604, 609, 611, 615, - 618, 622, 625, 629, 631, 634, 636 + 618, 622, 626, 630, 632, 635, 637 }; #endif @@ -2003,25 +2003,26 @@ case 192: #line 623 "grammar.y" { yyval.prog = new ProgramNode(0L); + yyval.prog->setLoc(0, 0, Parser::source); Parser::progNode = yyval.prog; ; break;} case 193: -#line 625 "grammar.y" +#line 626 "grammar.y" { yyval.prog = new ProgramNode(yyvsp[0].srcs); Parser::progNode = yyval.prog; ; break;} case 194: -#line 630 "grammar.y" +#line 631 "grammar.y" { yyval.srcs = new SourceElementsNode(yyvsp[0].stat); ; break;} case 195: -#line 631 "grammar.y" +#line 632 "grammar.y" { yyval.srcs = new SourceElementsNode(yyvsp[-1].srcs, yyvsp[0].stat); ; break;} case 196: -#line 635 "grammar.y" +#line 636 "grammar.y" { yyval.stat = yyvsp[0].stat; ; break;} case 197: -#line 636 "grammar.y" +#line 637 "grammar.y" { yyval.stat = yyvsp[0].func; ; break;} @@ -2248,5 +2249,5 @@ yyerrhandle: return 1; } -#line 639 "grammar.y" +#line 640 "grammar.y" --- kdelibs/kjs/grammar.y #1.47:1.48 @@ -622,4 +622,5 @@ FunctionBody: Program: /* nothing, empty script */ { $$ = new ProgramNode(0L); + $$->setLoc(0, 0, Parser::source); Parser::progNode = $$; } | SourceElements { $$ = new ProgramNode($1);