diff options
author | wtc%netscape.com <devnull@localhost> | 2000-09-12 14:51:06 +0000 |
---|---|---|
committer | wtc%netscape.com <devnull@localhost> | 2000-09-12 14:51:06 +0000 |
commit | 21d97bf7fe6c718053c28870d9da911f0be90d6d (patch) | |
tree | cc4ad83251e78d2a59f41462ef1e7577b3b9a096 /security/nss/cmd/modutil | |
parent | 45586116e703a98cf9e759ecf55c428a1210b80f (diff) | |
download | nss-hg-21d97bf7fe6c718053c28870d9da911f0be90d6d.tar.gz |
Bugzilla bug #52232: reverted to revision 1.1, which was generated
by Berkeley yacc 1.4 and hence was portable. Revision 1.2 was
generated by the yacc in Solaris 2.6 and contained
#include <values.h>, which does not exist on NT. Always use Berkeley
yacc (latest version is 1.9) to generate installparse.{c,h}.
Modified files: installparse.c, installparse.h
Diffstat (limited to 'security/nss/cmd/modutil')
-rw-r--r-- | security/nss/cmd/modutil/installparse.c | 998 | ||||
-rw-r--r-- | security/nss/cmd/modutil/installparse.h | 6 |
2 files changed, 344 insertions, 660 deletions
diff --git a/security/nss/cmd/modutil/installparse.c b/security/nss/cmd/modutil/installparse.c index 5afa19ba6..16f81b6eb 100644 --- a/security/nss/cmd/modutil/installparse.c +++ b/security/nss/cmd/modutil/installparse.c @@ -1,5 +1,7 @@ - -# line 37 "installparse.y" +#ifndef lint +char yysccsid[] = "@(#)yaccpar 1.4 (Berkeley) 02/25/90"; +#endif +#line 37 "installparse.y" #define yyparse Pk11Install_yyparse #define yylex Pk11Install_yylex @@ -34,61 +36,141 @@ extern char *Pk11Install_yytext; char *Pk11Install_yyerrstr=NULL; -# define OPENBRACE 257 -# define CLOSEBRACE 258 -# define STRING 259 - -#ifdef __STDC__ -#include <stdlib.h> -#include <string.h> -#else -#include <malloc.h> -#include <memory.h> -#endif - -#include <values.h> - -#ifdef __cplusplus - -#ifndef yyerror - void yyerror(const char *); -#endif - -#ifndef yylex -#ifdef __EXTERN_C__ - extern "C" { int yylex(void); } -#else - int yylex(void); -#endif +#line 40 "ytab.c" +#define OPENBRACE 257 +#define CLOSEBRACE 258 +#define STRING 259 +#define YYERRCODE 256 +short yylhs[] = { -1, + 0, 1, 1, 2, 2, 3, 4, +}; +short yylen[] = { 2, + 1, 2, 0, 1, 1, 4, 1, +}; +short yydefred[] = { 0, + 0, 0, 1, 0, 4, 0, 2, 0, 0, 6, +}; +short yydgoto[] = { 2, + 3, 4, 5, 6, +}; +short yysindex[] = { -257, + 0, 0, 0, -257, 0, -252, 0, -257, -251, 0, +}; +short yyrindex[] = { 6, + 1, 0, 0, 3, 0, 0, 0, -250, 0, 0, +}; +short yygindex[] = { 0, + -4, 0, 0, 0, +}; +#define YYTABLESIZE 261 +short yytable[] = { 7, + 5, 1, 3, 9, 8, 3, 10, 3, 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, 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, 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, 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, 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, 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, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 7, 5, 5, + 3, +}; +short yycheck[] = { 4, + 0, 259, 0, 8, 257, 0, 258, 258, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 257, 258, 259, + 258, +}; +#define YYFINAL 2 +#ifndef YYDEBUG +#define YYDEBUG 0 #endif - int yyparse(void); - +#define YYMAXTOKEN 259 +#if YYDEBUG +char *yyname[] = { +"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, +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, +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, +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, +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, +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, +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", +}; +char *yyrule[] = { +"$accept : toplist", +"toplist : valuelist", +"valuelist : value valuelist", +"valuelist :", +"value : key_value_pair", +"value : STRING", +"key_value_pair : key OPENBRACE valuelist CLOSEBRACE", +"key : STRING", +}; #endif -#define yyclearin yychar = -1 -#define yyerrok yyerrflag = 0 -extern int yychar; -extern int yyerrflag; #ifndef YYSTYPE -#define YYSTYPE int +typedef int YYSTYPE; #endif -YYSTYPE yylval; -YYSTYPE yyval; -typedef int yytabelem; -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 150 +#define yyclearin (yychar=(-1)) +#define yyerrok (yyerrflag=0) +#ifndef YYSTACKSIZE +#ifdef YYMAXDEPTH +#define YYSTACKSIZE YYMAXDEPTH +#else +#define YYSTACKSIZE 300 #endif -#if YYMAXDEPTH > 0 -int yy_yys[YYMAXDEPTH], *yys = yy_yys; -YYSTYPE yy_yyv[YYMAXDEPTH], *yyv = yy_yyv; -#else /* user does initial allocation */ -int *yys; -YYSTYPE *yyv; #endif -static int yymaxdepth = YYMAXDEPTH; -# define YYERRCODE 256 - -# line 117 "installparse.y" - +int yydebug; +int yynerrs; +int yyerrflag; +int yychar; +short *yyssp; +YYSTYPE *yyvsp; +YYSTYPE yyval; +YYSTYPE yylval; +#define yystacksize YYSTACKSIZE +short yyss[YYSTACKSIZE]; +YYSTYPE yyvs[YYSTACKSIZE]; +#line 118 "installparse.y" /*----------------------- Program Section --------------------------------*/ /*************************************************************************/ @@ -105,641 +187,243 @@ Pk11Install_yyerror(char *message) } Pk11Install_yyerrstr=tmp; } -static const yytabelem yyexca[] ={ --1, 1, - 0, -1, - -2, 0, --1, 5, - 257, 7, - -2, 5, - }; -# define YYNPROD 8 -# define YYLAST 13 -static const yytabelem yyact[]={ - - 5, 10, 8, 2, 6, 4, 3, 7, 1, 0, - 0, 0, 9 }; -static const yytabelem yypact[]={ - - -259,-10000000,-10000000, -259,-10000000,-10000000, -255,-10000000, -259, -257, --10000000 }; -static const yytabelem yypgo[]={ - - 0, 8, 3, 6, 5, 4 }; -static const yytabelem yyr1[]={ - - 0, 1, 2, 2, 3, 3, 4, 5 }; -static const yytabelem yyr2[]={ - - 0, 3, 5, 1, 3, 3, 9, 3 }; -static const yytabelem yychk[]={ - --10000000, -1, -2, -3, -4, 259, -5, -2, 257, -2, - 258 }; -static const yytabelem yydef[]={ - - 3, -2, 1, 3, 4, -2, 0, 2, 3, 0, - 6 }; -typedef struct -#ifdef __cplusplus - yytoktype -#endif -{ char *t_name; int t_val; } yytoktype; -#ifndef YYDEBUG -# define YYDEBUG 0 /* don't allow debugging */ -#endif - -#if YYDEBUG - -yytoktype yytoks[] = -{ - "OPENBRACE", 257, - "CLOSEBRACE", 258, - "STRING", 259, - "-unknown-", -1 /* ends search */ -}; - -char * yyreds[] = +#line 191 "ytab.c" +#define YYABORT goto yyabort +#define YYACCEPT goto yyaccept +#define YYERROR goto yyerrlab +int +yyparse() { - "-no such reduction-", - "toplist : valuelist", - "valuelist : value valuelist", - "valuelist : /* empty */", - "value : key_value_pair", - "value : STRING", - "key_value_pair : key OPENBRACE valuelist CLOSEBRACE", - "key : STRING", -}; -#endif /* YYDEBUG */ -# line 1 "/usr/ccs/bin/yaccpar" -/* - * Copyright (c) 1993 by Sun Microsystems, Inc. - */ - -#pragma ident "@(#)yaccpar 6.14 97/01/16 SMI" - -/* -** Skeleton parser driver for yacc output -*/ - -/* -** yacc user known macros and defines -*/ -#define YYERROR goto yyerrlab -#define YYACCEPT return(0) -#define YYABORT return(1) -#define YYBACKUP( newtoken, newvalue )\ -{\ - if ( yychar >= 0 || ( yyr2[ yytmp ] >> 1 ) != 1 )\ - {\ - yyerror( "syntax error - cannot backup" );\ - goto yyerrlab;\ - }\ - yychar = newtoken;\ - yystate = *yyps;\ - yylval = newvalue;\ - goto yynewstate;\ -} -#define YYRECOVERING() (!!yyerrflag) -#define YYNEW(type) malloc(sizeof(type) * yynewmax) -#define YYCOPY(to, from, type) \ - (type *) memcpy(to, (char *) from, yymaxdepth * sizeof (type)) -#define YYENLARGE( from, type) \ - (type *) realloc((char *) from, yynewmax * sizeof(type)) -#ifndef YYDEBUG -# define YYDEBUG 1 /* make debugging available */ + register int yym, yyn, yystate; +#if YYDEBUG + register char *yys; + extern char *getenv(); + + if (yys = getenv("YYDEBUG")) + { + yyn = *yys; + if (yyn >= '0' && yyn <= '9') + yydebug = yyn - '0'; + } #endif -/* -** user known globals -*/ -int yydebug; /* set to 1 to get debugging */ - -/* -** driver internal defines -*/ -#define YYFLAG (-10000000) - -/* -** global variables used by the parser -*/ -YYSTYPE *yypv; /* top of value stack */ -int *yyps; /* top of state stack */ - -int yystate; /* current state */ -int yytmp; /* extra var (lasts between blocks) */ + yynerrs = 0; + yyerrflag = 0; + yychar = (-1); -int yynerrs; /* number of errors */ -int yyerrflag; /* error recovery flag */ -int yychar; /* current input token number */ + yyssp = yyss; + yyvsp = yyvs; + *yyssp = yystate = 0; - - -#ifdef YYNMBCHARS -#define YYLEX() yycvtok(yylex()) -/* -** yycvtok - return a token if i is a wchar_t value that exceeds 255. -** If i<255, i itself is the token. If i>255 but the neither -** of the 30th or 31st bit is on, i is already a token. -*/ -#if defined(__STDC__) || defined(__cplusplus) -int yycvtok(int i) -#else -int yycvtok(i) int i; +yyloop: + if (yyn = yydefred[yystate]) goto yyreduce; + if (yychar < 0) + { + if ((yychar = yylex()) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("yydebug: state %d, reading %d (%s)\n", yystate, + yychar, yys); + } #endif -{ - int first = 0; - int last = YYNMBCHARS - 1; - int mid; - wchar_t j; - - if(i&0x60000000){/*Must convert to a token. */ - if( yymbchars[last].character < i ){ - return i;/*Giving up*/ - } - while ((last>=first)&&(first>=0)) {/*Binary search loop*/ - mid = (first+last)/2; - j = yymbchars[mid].character; - if( j==i ){/*Found*/ - return yymbchars[mid].tvalue; - }else if( j<i ){ - first = mid + 1; - }else{ - last = mid -1; - } - } - /*No entry in the table.*/ - return i;/* Giving up.*/ - }else{/* i is already a token. */ - return i; - } -} -#else/*!YYNMBCHARS*/ -#define YYLEX() yylex() -#endif/*!YYNMBCHARS*/ - -/* -** yyparse - return 0 if worked, 1 if syntax error not recovered from -*/ -#if defined(__STDC__) || defined(__cplusplus) -int yyparse(void) -#else -int yyparse() + } + if ((yyn = yysindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { +#if YYDEBUG + if (yydebug) + printf("yydebug: state %d, shifting to state %d\n", + yystate, yytable[yyn]); #endif -{ - register YYSTYPE *yypvt = 0; /* top of value stack for $vars */ - -#if defined(__cplusplus) || defined(lint) -/* - hacks to please C++ and lint - goto's inside - switch should never be executed -*/ - static int __yaccpar_lint_hack__ = 0; - switch (__yaccpar_lint_hack__) - { - case 1: goto yyerrlab; - case 2: goto yynewstate; - } + if (yyssp >= yyss + yystacksize - 1) + { + goto yyoverflow; + } + *++yyssp = yystate = yytable[yyn]; + *++yyvsp = yylval; + yychar = (-1); + if (yyerrflag > 0) --yyerrflag; + goto yyloop; + } + if ((yyn = yyrindex[yystate]) && (yyn += yychar) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yychar) + { + yyn = yytable[yyn]; + goto yyreduce; + } + if (yyerrflag) goto yyinrecovery; +#ifdef lint + goto yynewerror; #endif - - /* - ** Initialize externals - yyparse may be called more than once - */ - yypv = &yyv[-1]; - yyps = &yys[-1]; - yystate = 0; - yytmp = 0; - yynerrs = 0; - yyerrflag = 0; - yychar = -1; - -#if YYMAXDEPTH <= 0 - if (yymaxdepth <= 0) - { - if ((yymaxdepth = YYEXPAND(0)) <= 0) - { - yyerror("yacc initialization error"); - YYABORT; - } - } +yynewerror: + yyerror("syntax error"); +#ifdef lint + goto yyerrlab; #endif - - { - register YYSTYPE *yy_pv; /* top of value stack */ - register int *yy_ps; /* top of state stack */ - register int yy_state; /* current state */ - register int yy_n; /* internal state number info */ - goto yystack; /* moved from 6 lines above to here to please C++ */ - - /* - ** get globals into registers. - ** branch to here only if YYBACKUP was called. - */ - yynewstate: - yy_pv = yypv; - yy_ps = yyps; - yy_state = yystate; - goto yy_newstate; - - /* - ** get globals into registers. - ** either we just started, or we just finished a reduction - */ - yystack: - yy_pv = yypv; - yy_ps = yyps; - yy_state = yystate; - - /* - ** top of for (;;) loop while no reductions done - */ - yy_stack: - /* - ** put a state and value onto the stacks - */ +yyerrlab: + ++yynerrs; +yyinrecovery: + if (yyerrflag < 3) + { + yyerrflag = 3; + for (;;) + { + if ((yyn = yysindex[*yyssp]) && (yyn += YYERRCODE) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == YYERRCODE) + { #if YYDEBUG - /* - ** if debugging, look up token value in list of value vs. - ** name pairs. 0 and negative (-1) are special values. - ** Note: linear search is used since time is not a real - ** consideration while debugging. - */ - if ( yydebug ) - { - register int yy_i; - - printf( "State %d, token ", yy_state ); - if ( yychar == 0 ) - printf( "end-of-file\n" ); - else if ( yychar < 0 ) - printf( "-none-\n" ); - else - { - for ( yy_i = 0; yytoks[yy_i].t_val >= 0; - yy_i++ ) - { - if ( yytoks[yy_i].t_val == yychar ) - break; - } - printf( "%s\n", yytoks[yy_i].t_name ); - } - } -#endif /* YYDEBUG */ - if ( ++yy_ps >= &yys[ yymaxdepth ] ) /* room on stack? */ - { - /* - ** reallocate and recover. Note that pointers - ** have to be reset, or bad things will happen - */ - int yyps_index = (yy_ps - yys); - int yypv_index = (yy_pv - yyv); - int yypvt_index = (yypvt - yyv); - int yynewmax; -#ifdef YYEXPAND - yynewmax = YYEXPAND(yymaxdepth); -#else - yynewmax = 2 * yymaxdepth; /* double table size */ - if (yymaxdepth == YYMAXDEPTH) /* first time growth */ - { - char *newyys = (char *)YYNEW(int); - char *newyyv = (char *)YYNEW(YYSTYPE); - if (newyys != 0 && newyyv != 0) - { - yys = YYCOPY(newyys, yys, int); - yyv = YYCOPY(newyyv, yyv, YYSTYPE); - } - else - yynewmax = 0; /* failed */ - } - else /* not first time */ - { - yys = YYENLARGE(yys, int); - yyv = YYENLARGE(yyv, YYSTYPE); - if (yys == 0 || yyv == 0) - yynewmax = 0; /* failed */ - } + if (yydebug) + printf("yydebug: state %d, error recovery shifting\ + to state %d\n", *yyssp, yytable[yyn]); #endif - if (yynewmax <= yymaxdepth) /* tables not expanded */ - { - yyerror( "yacc stack overflow" ); - YYABORT; - } - yymaxdepth = yynewmax; - - yy_ps = yys + yyps_index; - yy_pv = yyv + yypv_index; - yypvt = yyv + yypvt_index; - } - *yy_ps = yy_state; - *++yy_pv = yyval; - - /* - ** we have a new state - find out what to do - */ - yy_newstate: - if ( ( yy_n = yypact[ yy_state ] ) <= YYFLAG ) - goto yydefault; /* simple state */ + if (yyssp >= yyss + yystacksize - 1) + { + goto yyoverflow; + } + *++yyssp = yystate = yytable[yyn]; + *++yyvsp = yylval; + goto yyloop; + } + else + { #if YYDEBUG - /* - ** if debugging, need to mark whether new token grabbed - */ - yytmp = yychar < 0; + if (yydebug) + printf("yydebug: error recovery discarding state %d\n", + *yyssp); #endif - if ( ( yychar < 0 ) && ( ( yychar = YYLEX() ) < 0 ) ) - yychar = 0; /* reached EOF */ -#if YYDEBUG - if ( yydebug && yytmp ) - { - register int yy_i; - - printf( "Received token " ); - if ( yychar == 0 ) - printf( "end-of-file\n" ); - else if ( yychar < 0 ) - printf( "-none-\n" ); - else - { - for ( yy_i = 0; yytoks[yy_i].t_val >= 0; - yy_i++ ) - { - if ( yytoks[yy_i].t_val == yychar ) - break; - } - printf( "%s\n", yytoks[yy_i].t_name ); - } - } -#endif /* YYDEBUG */ - if ( ( ( yy_n += yychar ) < 0 ) || ( yy_n >= YYLAST ) ) - goto yydefault; - if ( yychk[ yy_n = yyact[ yy_n ] ] == yychar ) /*valid shift*/ - { - yychar = -1; - yyval = yylval; - yy_state = yy_n; - if ( yyerrflag > 0 ) - yyerrflag--; - goto yy_stack; - } - - yydefault: - if ( ( yy_n = yydef[ yy_state ] ) == -2 ) - { -#if YYDEBUG - yytmp = yychar < 0; -#endif - if ( ( yychar < 0 ) && ( ( yychar = YYLEX() ) < 0 ) ) - yychar = 0; /* reached EOF */ -#if YYDEBUG - if ( yydebug && yytmp ) - { - register int yy_i; - - printf( "Received token " ); - if ( yychar == 0 ) - printf( "end-of-file\n" ); - else if ( yychar < 0 ) - printf( "-none-\n" ); - else - { - for ( yy_i = 0; - yytoks[yy_i].t_val >= 0; - yy_i++ ) - { - if ( yytoks[yy_i].t_val - == yychar ) - { - break; - } - } - printf( "%s\n", yytoks[yy_i].t_name ); - } - } -#endif /* YYDEBUG */ - /* - ** look through exception table - */ - { - register const int *yyxi = yyexca; - - while ( ( *yyxi != -1 ) || - ( yyxi[1] != yy_state ) ) - { - yyxi += 2; - } - while ( ( *(yyxi += 2) >= 0 ) && - ( *yyxi != yychar ) ) - ; - if ( ( yy_n = yyxi[1] ) < 0 ) - YYACCEPT; - } - } - - /* - ** check for syntax error - */ - if ( yy_n == 0 ) /* have an error */ - { - /* no worry about speed here! */ - switch ( yyerrflag ) - { - case 0: /* new error */ - yyerror( "syntax error" ); - goto skip_init; - yyerrlab: - /* - ** get globals into registers. - ** we have a user generated syntax type error - */ - yy_pv = yypv; - yy_ps = yyps; - yy_state = yystate; - skip_init: - yynerrs++; - /* FALLTHRU */ - case 1: - case 2: /* incompletely recovered error */ - /* try again... */ - yyerrflag = 3; - /* - ** find state where "error" is a legal - ** shift action - */ - while ( yy_ps >= yys ) - { - yy_n = yypact[ *yy_ps ] + YYERRCODE; - if ( yy_n >= 0 && yy_n < YYLAST && - yychk[yyact[yy_n]] == YYERRCODE) { - /* - ** simulate shift of "error" - */ - yy_state = yyact[ yy_n ]; - goto yy_stack; - } - /* - ** current state has no shift on - ** "error", pop stack - */ + if (yyssp <= yyss) goto yyabort; + --yyssp; + --yyvsp; + } + } + } + else + { + if (yychar == 0) goto yyabort; #if YYDEBUG -# define _POP_ "Error recovery pops state %d, uncovers state %d\n" - if ( yydebug ) - printf( _POP_, *yy_ps, - yy_ps[-1] ); -# undef _POP_ + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("yydebug: state %d, error recovery discards token %d (%s)\n", + yystate, yychar, yys); + } #endif - yy_ps--; - yy_pv--; - } - /* - ** there is no state on stack with "error" as - ** a valid shift. give up. - */ - YYABORT; - case 3: /* no shift yet; eat a token */ + yychar = (-1); + goto yyloop; + } +yyreduce: #if YYDEBUG - /* - ** if debugging, look up token in list of - ** pairs. 0 and negative shouldn't occur, - ** but since timing doesn't matter when - ** debugging, it doesn't hurt to leave the - ** tests here. - */ - if ( yydebug ) - { - register int yy_i; - - printf( "Error recovery discards " ); - if ( yychar == 0 ) - printf( "token end-of-file\n" ); - else if ( yychar < 0 ) - printf( "token -none-\n" ); - else - { - for ( yy_i = 0; - yytoks[yy_i].t_val >= 0; - yy_i++ ) - { - if ( yytoks[yy_i].t_val - == yychar ) - { - break; - } - } - printf( "token %s\n", - yytoks[yy_i].t_name ); - } - } -#endif /* YYDEBUG */ - if ( yychar == 0 ) /* reached EOF. quit */ - YYABORT; - yychar = -1; - goto yy_newstate; - } - }/* end if ( yy_n == 0 ) */ - /* - ** reduction by production yy_n - ** put stack tops, etc. so things right after switch - */ -#if YYDEBUG - /* - ** if debugging, print the string that is the user's - ** specification of the reduction which is just about - ** to be done. - */ - if ( yydebug ) - printf( "Reduce by (%d) \"%s\"\n", - yy_n, yyreds[ yy_n ] ); + if (yydebug) + printf("yydebug: state %d, reducing by rule %d (%s)\n", + yystate, yyn, yyrule[yyn]); #endif - yytmp = yy_n; /* value to switch over */ - yypvt = yy_pv; /* $vars top of value stack */ - /* - ** Look in goto table for next state - ** Sorry about using yy_state here as temporary - ** register variable, but why not, if it works... - ** If yyr2[ yy_n ] doesn't have the low order bit - ** set, then there is no action to be done for - ** this reduction. So, no saving & unsaving of - ** registers done. The only difference between the - ** code just after the if and the body of the if is - ** the goto yy_stack in the body. This way the test - ** can be made before the choice of what to do is needed. - */ - { - /* length of production doubled with extra bit */ - register int yy_len = yyr2[ yy_n ]; - - if ( !( yy_len & 01 ) ) - { - yy_len >>= 1; - yyval = ( yy_pv -= yy_len )[1]; /* $$ = $1 */ - yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] + - *( yy_ps -= yy_len ) + 1; - if ( yy_state >= YYLAST || - yychk[ yy_state = - yyact[ yy_state ] ] != -yy_n ) - { - yy_state = yyact[ yypgo[ yy_n ] ]; - } - goto yy_stack; - } - yy_len >>= 1; - yyval = ( yy_pv -= yy_len )[1]; /* $$ = $1 */ - yy_state = yypgo[ yy_n = yyr1[ yy_n ] ] + - *( yy_ps -= yy_len ) + 1; - if ( yy_state >= YYLAST || - yychk[ yy_state = yyact[ yy_state ] ] != -yy_n ) - { - yy_state = yyact[ yypgo[ yy_n ] ]; - } - } - /* save until reenter driver code */ - yystate = yy_state; - yyps = yy_ps; - yypv = yy_pv; - } - /* - ** code supplied by user is placed in this switch - */ - switch( yytmp ) - { - + yym = yylen[yyn]; + yyval = yyvsp[1-yym]; + switch (yyn) + { case 1: -# line 84 "installparse.y" +#line 84 "installparse.y" { - Pk11Install_valueList = yypvt[-0].list; -} break; + Pk11Install_valueList = yyvsp[0].list; +} +break; case 2: -# line 89 "installparse.y" +#line 89 "installparse.y" { - Pk11Install_ValueList_AddItem(yypvt[-0].list,yypvt[-1].value); - yyval.list = yypvt[-0].list; -} break; + Pk11Install_ValueList_AddItem(yyvsp[0].list,yyvsp[-1].value); + yyval .list = yyvsp[0].list; +} +break; case 3: -# line 94 "installparse.y" +#line 94 "installparse.y" { - yyval.list = Pk11Install_ValueList_new(); -} break; + yyval .list = Pk11Install_ValueList_new(); +} +break; case 4: -# line 99 "installparse.y" +#line 99 "installparse.y" { - yyval.value= Pk11Install_Value_new(PAIR_VALUE,yypvt[-0]); -} break; + yyval .value= Pk11Install_Value_new(PAIR_VALUE,yyvsp[0]); +} +break; case 5: -# line 103 "installparse.y" +#line 103 "installparse.y" { - yyval.value= Pk11Install_Value_new(STRING_VALUE, yypvt[-0]); -} break; + yyval .value= Pk11Install_Value_new(STRING_VALUE, yyvsp[0]); +} +break; case 6: -# line 108 "installparse.y" +#line 108 "installparse.y" { - yyval.pair = Pk11Install_Pair_new(yypvt[-3].string,yypvt[-1].list); -} break; + yyval .pair = Pk11Install_Pair_new(yyvsp[-3].string,yyvsp[-1].list); +} +break; case 7: -# line 113 "installparse.y" +#line 113 "installparse.y" { - yyval.string = yypvt[-0].string; -} break; -# line 531 "/usr/ccs/bin/yaccpar" - } - goto yystack; /* reset registers in driver code */ + yyval .string = yyvsp[0].string; +} +break; +#line 374 "ytab.c" + } + yyssp -= yym; + yystate = *yyssp; + yyvsp -= yym; + yym = yylhs[yyn]; + if (yystate == 0 && yym == 0) + { +#ifdef YYDEBUG + if (yydebug) + printf("yydebug: after reduction, shifting from state 0 to\ + state %d\n", YYFINAL); +#endif + yystate = YYFINAL; + *++yyssp = YYFINAL; + *++yyvsp = yyval; + if (yychar < 0) + { + if ((yychar = yylex()) < 0) yychar = 0; +#if YYDEBUG + if (yydebug) + { + yys = 0; + if (yychar <= YYMAXTOKEN) yys = yyname[yychar]; + if (!yys) yys = "illegal-symbol"; + printf("yydebug: state %d, reading %d (%s)\n", + YYFINAL, yychar, yys); + } +#endif + } + if (yychar == 0) goto yyaccept; + goto yyloop; + } + if ((yyn = yygindex[yym]) && (yyn += yystate) >= 0 && + yyn <= YYTABLESIZE && yycheck[yyn] == yystate) + yystate = yytable[yyn]; + else + yystate = yydgoto[yym]; +#ifdef YYDEBUG + if (yydebug) + printf("yydebug: after reduction, shifting from state %d \ +to state %d\n", *yyssp, yystate); +#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); } - diff --git a/security/nss/cmd/modutil/installparse.h b/security/nss/cmd/modutil/installparse.h index f57ad8f55..75686d4fd 100644 --- a/security/nss/cmd/modutil/installparse.h +++ b/security/nss/cmd/modutil/installparse.h @@ -1,3 +1,3 @@ -# define OPENBRACE 257 -# define CLOSEBRACE 258 -# define STRING 259 +#define OPENBRACE 257 +#define CLOSEBRACE 258 +#define STRING 259 |