summaryrefslogtreecommitdiff
path: root/perly.c.diff
diff options
context:
space:
mode:
Diffstat (limited to 'perly.c.diff')
-rw-r--r--perly.c.diff170
1 files changed, 170 insertions, 0 deletions
diff --git a/perly.c.diff b/perly.c.diff
new file mode 100644
index 0000000000..06a8b6ca1e
--- /dev/null
+++ b/perly.c.diff
@@ -0,0 +1,170 @@
+*** perly.c.byacc Tue Oct 5 15:44:31 1993
+--- perly.c Tue Oct 5 16:23:53 1993
+***************
+*** 1396,1408 ****
+ int yynerrs;
+ int yyerrflag;
+ int yychar;
+- short *yyssp;
+- YYSTYPE *yyvsp;
+ YYSTYPE yyval;
+ YYSTYPE yylval;
+- short yyss[YYSTACKSIZE];
+- YYSTYPE yyvs[YYSTACKSIZE];
+- #define yystacksize YYSTACKSIZE
+ #line 573 "perly.y"
+ /* PROGRAM */
+ #line 1409 "y.tab.c"
+--- 1396,1403 ----
+***************
+*** 1413,1418 ****
+--- 1408,1426 ----
+ yyparse()
+ {
+ register int yym, yyn, yystate;
++ register short *yyssp;
++ register YYSTYPE *yyvsp;
++ short* yyss;
++ YYSTYPE* yyvs;
++ unsigned yystacksize = YYSTACKSIZE;
++ int oldyydebug = yydebug;
++ int oldyynerrs = yynerrs;
++ int oldyyerrflag = yyerrflag;
++ int oldyychar = yychar;
++ YYSTYPE oldyyval = yyval;
++ YYSTYPE oldyylval = yylval;
++ int retval = 0;
++
+ #if YYDEBUG
+ register char *yys;
+ extern char *getenv();
+***************
+*** 1429,1434 ****
+--- 1437,1450 ----
+ yyerrflag = 0;
+ yychar = (-1);
+
++ /*
++ ** Initialize private stacks (yyparse may be called from an action)
++ */
++ yyss = (short*)malloc(yystacksize*sizeof(short));
++ yyvs = (YYSTYPE*)malloc(yystacksize*sizeof(YYSTYPE));
++ if (!yyvs || !yyss)
++ goto yyoverflow;
++
+ yyssp = yyss;
+ yyvsp = yyvs;
+ *yyssp = yystate = 0;
+***************
+*** 1459,1465 ****
+ #endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+! goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+--- 1475,1493 ----
+ #endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+! /*
+! ** reallocate and recover. Note that pointers
+! ** have to be reset, or bad things will happen
+! */
+! int yyps_index = (yyssp - yyss);
+! int yypv_index = (yyvsp - yyvs);
+! yystacksize += YYSTACKSIZE;
+! yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
+! yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
+! if (!yyvs || !yyss)
+! goto yyoverflow;
+! yyssp = yyss + yyps_index;
+! yyvsp = yyvs + yypv_index;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+***************
+*** 1500,1506 ****
+ #endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+! goto yyoverflow;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+--- 1528,1548 ----
+ #endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+! /*
+! ** reallocate and recover. Note that pointers
+! ** have to be reset, or bad things will happen
+! */
+! int yyps_index = (yyssp - yyss);
+! int yypv_index = (yyvsp - yyvs);
+! yystacksize += YYSTACKSIZE;
+! yyvs = (YYSTYPE*)realloc((char*)yyvs,
+! yystacksize * sizeof(YYSTYPE));
+! yyss = (short*)realloc((char*)yyss,
+! yystacksize * sizeof(short));
+! if (!yyvs || !yyss)
+! goto yyoverflow;
+! yyssp = yyss + yyps_index;
+! yyvsp = yyvs + yypv_index;
+ }
+ *++yyssp = yystate = yytable[yyn];
+ *++yyvsp = yylval;
+***************
+*** 2281,2295 ****
+ #endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+! goto yyoverflow;
+ }
+ *++yyssp = yystate;
+ *++yyvsp = yyval;
+ goto yyloop;
+ yyoverflow:
+! yyerror("yacc stack overflow");
+ yyabort:
+! return (1);
+ yyaccept:
+! return (0);
+ }
+--- 2323,2357 ----
+ #endif
+ if (yyssp >= yyss + yystacksize - 1)
+ {
+! /*
+! ** reallocate and recover. Note that pointers
+! ** have to be reset, or bad things will happen
+! */
+! int yyps_index = (yyssp - yyss);
+! int yypv_index = (yyvsp - yyvs);
+! yystacksize += YYSTACKSIZE;
+! yyvs = (YYSTYPE*)realloc((char*)yyvs,yystacksize * sizeof(YYSTYPE));
+! yyss = (short*)realloc((char*)yyss,yystacksize * sizeof(short));
+! if (!yyvs || !yyss)
+! goto yyoverflow;
+! yyssp = yyss + yyps_index;
+! yyvsp = yyvs + yypv_index;
+ }
+ *++yyssp = yystate;
+ *++yyvsp = yyval;
+ goto yyloop;
+ yyoverflow:
+! yyerror("Out of memory for yacc stack");
+ yyabort:
+! retval = 1;
+ yyaccept:
+! if (yyss) free(yyss);
+! if (yyvs) free(yyvs);
+! yydebug = oldyydebug;
+! yynerrs = oldyynerrs;
+! yyerrflag = oldyyerrflag;
+! yychar = oldyychar;
+! yyval = oldyyval;
+! yylval = oldyylval;
+! return retval;
+ }