--- embedaddon/strongswan/src/libstrongswan/settings/settings_parser.c 2020/06/03 09:46:44 1.1.1.1 +++ embedaddon/strongswan/src/libstrongswan/settings/settings_parser.c 2021/03/17 00:20:08 1.1.1.2 @@ -58,7 +58,8 @@ /* Pull parsers. */ #define YYPULL 1 - +/* Substitute the type names. */ +#define YYSTYPE SETTINGS_PARSER_STYPE /* Substitute the variable and function names. */ #define yyparse settings_parser_parse #define yylex settings_parser_lex @@ -126,13 +127,13 @@ static void add_references(parser_helper_t *ctx, array * Make sure to call lexer with the proper context */ #undef yylex -static int yylex(YYSTYPE *lvalp, parser_helper_t *ctx) +static int yylex(SETTINGS_PARSER_STYPE *yylval, parser_helper_t *ctx) { - return settings_parser_lex(lvalp, ctx->scanner); + return settings_parser_lex(yylval, ctx->scanner); } -#line 136 "settings/settings_parser.c" /* yacc.c:339 */ +#line 137 "settings/settings_parser.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -155,17 +156,25 @@ static int yylex(YYSTYPE *lvalp, parser_helper_t *ctx) #ifndef YY_SETTINGS_PARSER_SETTINGS_SETTINGS_PARSER_H_INCLUDED # define YY_SETTINGS_PARSER_SETTINGS_SETTINGS_PARSER_H_INCLUDED /* Debug traces. */ -#ifndef YYDEBUG -# define YYDEBUG 1 -#endif +#ifndef SETTINGS_PARSER_DEBUG +# if defined YYDEBUG #if YYDEBUG +# define SETTINGS_PARSER_DEBUG 1 +# else +# define SETTINGS_PARSER_DEBUG 0 +# endif +# else /* ! defined YYDEBUG */ +# define SETTINGS_PARSER_DEBUG 1 +# endif /* ! defined YYDEBUG */ +#endif /* ! defined SETTINGS_PARSER_DEBUG */ +#if SETTINGS_PARSER_DEBUG extern int settings_parser_debug; #endif /* Token type. */ -#ifndef YYTOKENTYPE -# define YYTOKENTYPE - enum yytokentype +#ifndef SETTINGS_PARSER_TOKENTYPE +# define SETTINGS_PARSER_TOKENTYPE + enum settings_parser_tokentype { NAME = 258, STRING = 259, @@ -186,34 +195,42 @@ extern int settings_parser_debug; #define STRING_ERROR 264 /* Value type. */ -#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED +#if ! defined SETTINGS_PARSER_STYPE && ! defined SETTINGS_PARSER_STYPE_IS_DECLARED -union YYSTYPE +union SETTINGS_PARSER_STYPE { -#line 78 "settings/settings_parser.y" /* yacc.c:355 */ +#line 85 "settings/settings_parser.y" /* yacc.c:355 */ char *s; struct section_t *sec; struct kv_t *kv; array_t *refs; -#line 201 "settings/settings_parser.c" /* yacc.c:355 */ +#line 210 "settings/settings_parser.c" /* yacc.c:355 */ }; -typedef union YYSTYPE YYSTYPE; -# define YYSTYPE_IS_TRIVIAL 1 -# define YYSTYPE_IS_DECLARED 1 +typedef union SETTINGS_PARSER_STYPE SETTINGS_PARSER_STYPE; +# define SETTINGS_PARSER_STYPE_IS_TRIVIAL 1 +# define SETTINGS_PARSER_STYPE_IS_DECLARED 1 #endif int settings_parser_parse (parser_helper_t *ctx); +/* "%code provides" blocks. */ +#line 74 "settings/settings_parser.y" /* yacc.c:355 */ + #define YY_DECL \ + int settings_parser_lex(SETTINGS_PARSER_STYPE *yylval, void *yyscanner) + YY_DECL; + +#line 228 "settings/settings_parser.c" /* yacc.c:355 */ + #endif /* !YY_SETTINGS_PARSER_SETTINGS_SETTINGS_PARSER_H_INCLUDED */ /* Copy the second part of user declarations. */ -#line 217 "settings/settings_parser.c" /* yacc.c:358 */ +#line 234 "settings/settings_parser.c" /* yacc.c:358 */ #ifdef short # undef short @@ -394,7 +411,7 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ - || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) + || (defined SETTINGS_PARSER_STYPE_IS_TRIVIAL && SETTINGS_PARSER_STYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc @@ -507,16 +524,16 @@ static const yytype_uint8 yytranslate[] = 5, 6, 7, 8, 9 }; -#if YYDEBUG +#if SETTINGS_PARSER_DEBUG /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint8 yyrline[] = { - 0, 112, 112, 114, 115, 119, 123, 130, 138, 143, - 152, 157, 165, 170, 177, 178, 192, 193 + 0, 119, 119, 121, 122, 126, 130, 137, 145, 150, + 159, 164, 172, 177, 184, 185, 199, 200 }; #endif -#if YYDEBUG || YYERROR_VERBOSE || 1 +#if SETTINGS_PARSER_DEBUG || YYERROR_VERBOSE || 1 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = @@ -654,7 +671,7 @@ while (0) /* Enable debugging if requested. */ -#if YYDEBUG +#if SETTINGS_PARSER_DEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ @@ -776,12 +793,12 @@ do { \ /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; -#else /* !YYDEBUG */ +#else /* !SETTINGS_PARSER_DEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) -#endif /* !YYDEBUG */ +#endif /* !SETTINGS_PARSER_DEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ @@ -1040,51 +1057,51 @@ yydestruct (const char *yymsg, int yytype, YYSTYPE *yy switch (yytype) { case 3: /* NAME */ -#line 97 "settings/settings_parser.y" /* yacc.c:1257 */ +#line 104 "settings/settings_parser.y" /* yacc.c:1257 */ { free(((*yyvaluep).s)); } -#line 1046 "settings/settings_parser.c" /* yacc.c:1257 */ +#line 1063 "settings/settings_parser.c" /* yacc.c:1257 */ break; case 4: /* STRING */ -#line 97 "settings/settings_parser.y" /* yacc.c:1257 */ +#line 104 "settings/settings_parser.y" /* yacc.c:1257 */ { free(((*yyvaluep).s)); } -#line 1052 "settings/settings_parser.c" /* yacc.c:1257 */ +#line 1069 "settings/settings_parser.c" /* yacc.c:1257 */ break; case 16: /* section */ -#line 99 "settings/settings_parser.y" /* yacc.c:1257 */ +#line 106 "settings/settings_parser.y" /* yacc.c:1257 */ { pop_section(ctx); settings_section_destroy(((*yyvaluep).sec), NULL); } -#line 1058 "settings/settings_parser.c" /* yacc.c:1257 */ +#line 1075 "settings/settings_parser.c" /* yacc.c:1257 */ break; case 17: /* section_start */ -#line 99 "settings/settings_parser.y" /* yacc.c:1257 */ +#line 106 "settings/settings_parser.y" /* yacc.c:1257 */ { pop_section(ctx); settings_section_destroy(((*yyvaluep).sec), NULL); } -#line 1064 "settings/settings_parser.c" /* yacc.c:1257 */ +#line 1081 "settings/settings_parser.c" /* yacc.c:1257 */ break; case 18: /* references */ -#line 101 "settings/settings_parser.y" /* yacc.c:1257 */ +#line 108 "settings/settings_parser.y" /* yacc.c:1257 */ { array_destroy_function(((*yyvaluep).refs), (void*)free, NULL); } -#line 1070 "settings/settings_parser.c" /* yacc.c:1257 */ +#line 1087 "settings/settings_parser.c" /* yacc.c:1257 */ break; case 19: /* setting */ -#line 100 "settings/settings_parser.y" /* yacc.c:1257 */ +#line 107 "settings/settings_parser.y" /* yacc.c:1257 */ { settings_kv_destroy(((*yyvaluep).kv), NULL); } -#line 1076 "settings/settings_parser.c" /* yacc.c:1257 */ +#line 1093 "settings/settings_parser.c" /* yacc.c:1257 */ break; case 20: /* value */ -#line 97 "settings/settings_parser.y" /* yacc.c:1257 */ +#line 104 "settings/settings_parser.y" /* yacc.c:1257 */ { free(((*yyvaluep).s)); } -#line 1082 "settings/settings_parser.c" /* yacc.c:1257 */ +#line 1099 "settings/settings_parser.c" /* yacc.c:1257 */ break; case 21: /* valuepart */ -#line 97 "settings/settings_parser.y" /* yacc.c:1257 */ +#line 104 "settings/settings_parser.y" /* yacc.c:1257 */ { free(((*yyvaluep).s)); } -#line 1088 "settings/settings_parser.c" /* yacc.c:1257 */ +#line 1105 "settings/settings_parser.c" /* yacc.c:1257 */ break; @@ -1350,84 +1367,84 @@ yyreduce: switch (yyn) { case 5: -#line 120 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 127 "settings/settings_parser.y" /* yacc.c:1646 */ { add_section(ctx, (yyvsp[0].sec)); } -#line 1358 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1375 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 6: -#line 124 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 131 "settings/settings_parser.y" /* yacc.c:1646 */ { add_setting(ctx, (yyvsp[0].kv)); } -#line 1366 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1383 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 7: -#line 131 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 138 "settings/settings_parser.y" /* yacc.c:1646 */ { pop_section(ctx); (yyval.sec) = (yyvsp[-2].sec); } -#line 1375 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1392 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 8: -#line 139 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 146 "settings/settings_parser.y" /* yacc.c:1646 */ { (yyval.sec) = push_section(ctx, (yyvsp[-1].s)); } -#line 1383 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1400 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 9: -#line 144 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 151 "settings/settings_parser.y" /* yacc.c:1646 */ { (yyval.sec) = push_section(ctx, (yyvsp[-3].s)); add_references(ctx, (yyvsp[-1].refs)); array_destroy((yyvsp[-1].refs)); } -#line 1393 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1410 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 10: -#line 153 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 160 "settings/settings_parser.y" /* yacc.c:1646 */ { (yyval.refs) = array_create(0, 0); array_insert((yyval.refs), ARRAY_TAIL, (yyvsp[0].s)); } -#line 1402 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1419 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 11: -#line 158 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 165 "settings/settings_parser.y" /* yacc.c:1646 */ { array_insert((yyvsp[-2].refs), ARRAY_TAIL, (yyvsp[0].s)); (yyval.refs) = (yyvsp[-2].refs); } -#line 1411 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1428 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 12: -#line 166 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 173 "settings/settings_parser.y" /* yacc.c:1646 */ { (yyval.kv) = settings_kv_create((yyvsp[-2].s), (yyvsp[0].s)); } -#line 1419 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1436 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 13: -#line 171 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 178 "settings/settings_parser.y" /* yacc.c:1646 */ { (yyval.kv) = settings_kv_create((yyvsp[-1].s), NULL); } -#line 1427 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1444 "settings/settings_parser.c" /* yacc.c:1646 */ break; case 15: -#line 179 "settings/settings_parser.y" /* yacc.c:1646 */ +#line 186 "settings/settings_parser.y" /* yacc.c:1646 */ { /* just put a single space between them, use strings for more */ if (asprintf(&(yyval.s), "%s %s", (yyvsp[-1].s), (yyvsp[0].s)) < 0) { @@ -1438,11 +1455,11 @@ yyreduce: free((yyvsp[-1].s)); free((yyvsp[0].s)); } -#line 1442 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1459 "settings/settings_parser.c" /* yacc.c:1646 */ break; -#line 1446 "settings/settings_parser.c" /* yacc.c:1646 */ +#line 1463 "settings/settings_parser.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -1670,7 +1687,7 @@ yyreturn: #endif return yyresult; } -#line 196 "settings/settings_parser.y" /* yacc.c:1906 */ +#line 203 "settings/settings_parser.y" /* yacc.c:1906 */ /**