Diff for /embedaddon/strongswan/src/libstrongswan/settings/settings_parser.c between versions 1.1.1.1 and 1.1.1.2

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

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>