security/nss/cmd/modutil/installparse.c

Wed, 31 Dec 2014 07:16:47 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:16:47 +0100
branch
TOR_BUG_9701
changeset 3
141e0f1194b1
permissions
-rw-r--r--

Revert simplistic fix pending revisit of Mozilla integration attempt.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #ifndef lint
     6 char yysccsid[] = "@(#)yaccpar	1.4 (Berkeley) 02/25/90";
     7 #endif
     8 #line 37 "installparse.y"
    10 #define yyparse Pk11Install_yyparse
    11 #define yylex Pk11Install_yylex
    12 #define yyerror Pk11Install_yyerror
    13 #define yychar Pk11Install_yychar
    14 #define yyval Pk11Install_yyval
    15 #define yylval Pk11Install_yylval
    16 #define yydebug Pk11Install_yydebug
    17 #define yynerrs Pk11Install_yynerrs
    18 #define yyerrflag Pk11Install_yyerrflag
    19 #define yyss Pk11Install_yyss
    20 #define yyssp Pk11Install_yyssp
    21 #define yyvs Pk11Install_yyvs
    22 #define yyvsp Pk11Install_yyvsp
    23 #define yylhs Pk11Install_yylhs
    24 #define yylen Pk11Install_yylen
    25 #define yydefred Pk11Install_yydefred
    26 #define yydgoto Pk11Install_yydgoto
    27 #define yysindex Pk11Install_yysindex
    28 #define yyrindex Pk11Install_yyrindex
    29 #define yygindex Pk11Install_yygindex
    30 #define yytable Pk11Install_yytable
    31 #define yycheck Pk11Install_yycheck
    32 #define yyname Pk11Install_yyname
    33 #define yyrule Pk11Install_yyrule
    35 /* C Stuff */
    36 #include "install-ds.h"
    37 #include <prprf.h>
    39 #define YYSTYPE Pk11Install_Pointer
    40 extern char *Pk11Install_yytext;
    41 char *Pk11Install_yyerrstr=NULL;
    43 #line 40 "ytab.c"
    44 #define OPENBRACE 257
    45 #define CLOSEBRACE 258
    46 #define STRING 259
    47 #define YYERRCODE 256
    48 short yylhs[] = {                                        -1,
    49     0,    1,    1,    2,    2,    3,    4,
    50 };
    51 short yylen[] = {                                         2,
    52     1,    2,    0,    1,    1,    4,    1,
    53 };
    54 short yydefred[] = {                                      0,
    55     0,    0,    1,    0,    4,    0,    2,    0,    0,    6,
    56 };
    57 short yydgoto[] = {                                       2,
    58     3,    4,    5,    6,
    59 };
    60 short yysindex[] = {                                   -257,
    61     0,    0,    0, -257,    0, -252,    0, -257, -251,    0,
    62 };
    63 short yyrindex[] = {                                      6,
    64     1,    0,    0,    3,    0,    0,    0, -250,    0,    0,
    65 };
    66 short yygindex[] = {                                      0,
    67    -4,    0,    0,    0,
    68 };
    69 #define YYTABLESIZE 261
    70 short yytable[] = {                                       7,
    71     5,    1,    3,    9,    8,    3,   10,    3,    0,    0,
    72     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    73     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    74     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    75     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    76     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    77     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    78     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    79     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    80     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    81     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    82     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    83     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    84     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    85     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    86     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    87     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    88     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    89     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    90     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    91     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    92     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    93     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    94     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    95     0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
    96     0,    0,    0,    0,    0,    0,    0,    7,    5,    5,
    97     3,
    98 };
    99 short yycheck[] = {                                       4,
   100     0,  259,    0,    8,  257,    0,  258,  258,   -1,   -1,
   101    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   102    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   103    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   104    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   105    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   106    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   107    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   108    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   109    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   110    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   111    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   112    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   113    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   114    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   115    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   116    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   117    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   118    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   119    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   120    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   121    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   122    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   123    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   124    -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,   -1,
   125    -1,   -1,   -1,   -1,   -1,   -1,   -1,  257,  258,  259,
   126   258,
   127 };
   128 #define YYFINAL 2
   129 #ifndef YYDEBUG
   130 #define YYDEBUG 0
   131 #endif
   132 #define YYMAXTOKEN 259
   133 #if YYDEBUG
   134 char *yyname[] = {
   135 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   136 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   137 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   138 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   139 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   140 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   141 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"OPENBRACE","CLOSEBRACE","STRING",
   142 };
   143 char *yyrule[] = {
   144 "$accept : toplist",
   145 "toplist : valuelist",
   146 "valuelist : value valuelist",
   147 "valuelist :",
   148 "value : key_value_pair",
   149 "value : STRING",
   150 "key_value_pair : key OPENBRACE valuelist CLOSEBRACE",
   151 "key : STRING",
   152 };
   153 #endif
   154 #ifndef YYSTYPE
   155 typedef int YYSTYPE;
   156 #endif
   157 #define yyclearin (yychar=(-1))
   158 #define yyerrok (yyerrflag=0)
   159 #ifndef YYSTACKSIZE
   160 #ifdef YYMAXDEPTH
   161 #define YYSTACKSIZE YYMAXDEPTH
   162 #else
   163 #define YYSTACKSIZE 300
   164 #endif
   165 #endif
   166 int yydebug;
   167 int yynerrs;
   168 int yyerrflag;
   169 int yychar;
   170 short *yyssp;
   171 YYSTYPE *yyvsp;
   172 YYSTYPE yyval;
   173 YYSTYPE yylval;
   174 #define yystacksize YYSTACKSIZE
   175 short yyss[YYSTACKSIZE];
   176 YYSTYPE yyvs[YYSTACKSIZE];
   177 #line 118 "installparse.y"
   178 /*----------------------- Program Section --------------------------------*/
   180 /*************************************************************************/
   181 void
   182 Pk11Install_yyerror(char *message)
   183 {
   184 	char *tmp;
   185 	if(Pk11Install_yyerrstr) {
   186 		tmp=PR_smprintf("%sline %d: %s\n", Pk11Install_yyerrstr,
   187 			Pk11Install_yylinenum, message);
   188 		PR_smprintf_free(Pk11Install_yyerrstr);
   189 	} else {
   190 		tmp = PR_smprintf("line %d: %s\n", Pk11Install_yylinenum, message);
   191 	}
   192 	Pk11Install_yyerrstr=tmp;
   193 }
   194 #line 191 "ytab.c"
   195 #define YYABORT goto yyabort
   196 #define YYACCEPT goto yyaccept
   197 #define YYERROR goto yyerrlab
   198 int
   199 yyparse()
   200 {
   201     register int yym, yyn, yystate;
   202 #if YYDEBUG
   203     register char *yys;
   204     extern char *getenv();
   206     if (yys = getenv("YYDEBUG"))
   207     {
   208         yyn = *yys;
   209         if (yyn >= '0' && yyn <= '9')
   210             yydebug = yyn - '0';
   211     }
   212 #endif
   214     yynerrs = 0;
   215     yyerrflag = 0;
   216     yychar = (-1);
   218     yyssp = yyss;
   219     yyvsp = yyvs;
   220     *yyssp = yystate = 0;
   222 yyloop:
   223     if (yyn = yydefred[yystate]) goto yyreduce;
   224     if (yychar < 0)
   225     {
   226         if ((yychar = yylex()) < 0) yychar = 0;
   227 #if YYDEBUG
   228         if (yydebug)
   229         {
   230             yys = 0;
   231             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
   232             if (!yys) yys = "illegal-symbol";
   233             printf("yydebug: state %d, reading %d (%s)\n", yystate,
   234                     yychar, yys);
   235         }
   236 #endif
   237     }
   238     if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 &&
   239             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
   240     {
   241 #if YYDEBUG
   242         if (yydebug)
   243             printf("yydebug: state %d, shifting to state %d\n",
   244                     yystate, yytable[yyn]);
   245 #endif
   246         if (yyssp >= yyss + yystacksize - 1)
   247         {
   248             goto yyoverflow;
   249         }
   250         *++yyssp = yystate = yytable[yyn];
   251         *++yyvsp = yylval;
   252         yychar = (-1);
   253         if (yyerrflag > 0)  --yyerrflag;
   254         goto yyloop;
   255     }
   256     if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 &&
   257             yyn <= YYTABLESIZE && yycheck[yyn] == yychar)
   258     {
   259         yyn = yytable[yyn];
   260         goto yyreduce;
   261     }
   262     if (yyerrflag) goto yyinrecovery;
   263 #ifdef lint
   264     goto yynewerror;
   265 yynewerror:
   266 #endif
   267     yyerror("syntax error");
   268 #ifdef lint
   269     goto yyerrlab;
   270 yyerrlab:
   271 #endif
   272     ++yynerrs;
   273 yyinrecovery:
   274     if (yyerrflag < 3)
   275     {
   276         yyerrflag = 3;
   277         for (;;)
   278         {
   279             if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 &&
   280                     yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE)
   281             {
   282 #if YYDEBUG
   283                 if (yydebug)
   284                     printf("yydebug: state %d, error recovery shifting\
   285  to state %d\n", *yyssp, yytable[yyn]);
   286 #endif
   287                 if (yyssp >= yyss + yystacksize - 1)
   288                 {
   289                     goto yyoverflow;
   290                 }
   291                 *++yyssp = yystate = yytable[yyn];
   292                 *++yyvsp = yylval;
   293                 goto yyloop;
   294             }
   295             else
   296             {
   297 #if YYDEBUG
   298                 if (yydebug)
   299                     printf("yydebug: error recovery discarding state %d\n",
   300                             *yyssp);
   301 #endif
   302                 if (yyssp <= yyss) goto yyabort;
   303                 --yyssp;
   304                 --yyvsp;
   305             }
   306         }
   307     }
   308     else
   309     {
   310         if (yychar == 0) goto yyabort;
   311 #if YYDEBUG
   312         if (yydebug)
   313         {
   314             yys = 0;
   315             if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
   316             if (!yys) yys = "illegal-symbol";
   317             printf("yydebug: state %d, error recovery discards token %d (%s)\n",
   318                     yystate, yychar, yys);
   319         }
   320 #endif
   321         yychar = (-1);
   322         goto yyloop;
   323     }
   324 yyreduce:
   325 #if YYDEBUG
   326     if (yydebug)
   327         printf("yydebug: state %d, reducing by rule %d (%s)\n",
   328                 yystate, yyn, yyrule[yyn]);
   329 #endif
   330     yym = yylen[yyn];
   331     yyval = yyvsp[1-yym];
   332     switch (yyn)
   333     {
   334 case 1:
   335 #line 84 "installparse.y"
   336 {
   337 	Pk11Install_valueList = yyvsp[0].list;
   338 }
   339 break;
   340 case 2:
   341 #line 89 "installparse.y"
   342 { 
   343 	Pk11Install_ValueList_AddItem(yyvsp[0].list,yyvsp[-1].value);
   344 	yyval .list = yyvsp[0].list; 
   345 }
   346 break;
   347 case 3:
   348 #line 94 "installparse.y"
   349 { 
   350 	yyval .list = Pk11Install_ValueList_new(); 
   351 }
   352 break;
   353 case 4:
   354 #line 99 "installparse.y"
   355 {
   356 	yyval .value= Pk11Install_Value_new(PAIR_VALUE,yyvsp[0]);
   357 }
   358 break;
   359 case 5:
   360 #line 103 "installparse.y"
   361 {
   362 	yyval .value= Pk11Install_Value_new(STRING_VALUE, yyvsp[0]);
   363 }
   364 break;
   365 case 6:
   366 #line 108 "installparse.y"
   367 {
   368 	yyval .pair = Pk11Install_Pair_new(yyvsp[-3].string,yyvsp[-1].list);
   369 }
   370 break;
   371 case 7:
   372 #line 113 "installparse.y"
   373 {
   374 	yyval .string = yyvsp[0].string;
   375 }
   376 break;
   377 #line 374 "ytab.c"
   378     }
   379     yyssp -= yym;
   380     yystate = *yyssp;
   381     yyvsp -= yym;
   382     yym = yylhs[yyn];
   383     if (yystate == 0 && yym == 0)
   384     {
   385 #ifdef YYDEBUG
   386         if (yydebug)
   387             printf("yydebug: after reduction, shifting from state 0 to\
   388  state %d\n", YYFINAL);
   389 #endif
   390         yystate = YYFINAL;
   391         *++yyssp = YYFINAL;
   392         *++yyvsp = yyval;
   393         if (yychar < 0)
   394         {
   395             if ((yychar = yylex()) < 0) yychar = 0;
   396 #if YYDEBUG
   397             if (yydebug)
   398             {
   399                 yys = 0;
   400                 if (yychar <= YYMAXTOKEN) yys = yyname[yychar];
   401                 if (!yys) yys = "illegal-symbol";
   402                 printf("yydebug: state %d, reading %d (%s)\n",
   403                         YYFINAL, yychar, yys);
   404             }
   405 #endif
   406         }
   407         if (yychar == 0) goto yyaccept;
   408         goto yyloop;
   409     }
   410     if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 &&
   411             yyn <= YYTABLESIZE && yycheck[yyn] == yystate)
   412         yystate = yytable[yyn];
   413     else
   414         yystate = yydgoto[yym];
   415 #ifdef YYDEBUG
   416     if (yydebug)
   417         printf("yydebug: after reduction, shifting from state %d \
   418 to state %d\n", *yyssp, yystate);
   419 #endif
   420     if (yyssp >= yyss + yystacksize - 1)
   421     {
   422         goto yyoverflow;
   423     }
   424     *++yyssp = yystate;
   425     *++yyvsp = yyval;
   426     goto yyloop;
   427 yyoverflow:
   428     yyerror("yacc stack overflow");
   429 yyabort:
   430     return (1);
   431 yyaccept:
   432     return (0);
   433 }

mercurial