Diff for /embedaddon/lighttpd/src/mod_ssi_exprparser.c between versions 1.1.1.1 and 1.1.1.2

version 1.1.1.1, 2013/10/14 10:32:48 version 1.1.1.2, 2016/11/02 10:35:00
Line 3 Line 3
 */  */
 /* First off, code is include which follows the "include" declaration  /* First off, code is include which follows the "include" declaration
 ** in the input file. */  ** in the input file. */
   #include "first.h"
 #include <stdio.h>  #include <stdio.h>
 #line 6 "../../src/mod_ssi_exprparser.y"  #line 6 "../../src/mod_ssi_exprparser.y"
   
   #include "first.h"
 #include "mod_ssi_expr.h"  #include "mod_ssi_expr.h"
 #include "buffer.h"  #include "buffer.h"
   
 #include <assert.h>  #include <assert.h>
 #include <string.h>  #include <string.h>
   
#line 16 "mod_ssi_exprparser.c"#line 18 "mod_ssi_exprparser.c"
 /* Next is all token values, in a form suitable for use by makeheaders.  /* Next is all token values, in a form suitable for use by makeheaders.
 ** This section will be null unless lemon is run with the -m switch.  ** This section will be null unless lemon is run with the -m switch.
 */  */
Line 347  static void yy_destructor(YYCODETYPE yymajor, YYMINORT Line 349  static void yy_destructor(YYCODETYPE yymajor, YYMINORT
     case 10:      case 10:
     case 11:      case 11:
     case 12:      case 12:
#line 22 "../../src/mod_ssi_exprparser.y"#line 23 "../../src/mod_ssi_exprparser.y"
 { buffer_free((yypminor->yy0)); }  { buffer_free((yypminor->yy0)); }
#line 352 "mod_ssi_exprparser.c"#line 354 "mod_ssi_exprparser.c"
       break;        break;
     default:  break;   /* If no destructor action specified: do nothing */      default:  break;   /* If no destructor action specified: do nothing */
   }    }
Line 365  static void yy_destructor(YYCODETYPE yymajor, YYMINORT Line 367  static void yy_destructor(YYCODETYPE yymajor, YYMINORT
 */  */
 static int yy_pop_parser_stack(yyParser *pParser){  static int yy_pop_parser_stack(yyParser *pParser){
   YYCODETYPE yymajor;    YYCODETYPE yymajor;
  yyStackEntry *yytos = &pParser->yystack[pParser->yyidx];  yyStackEntry *yytos;
   
   if( pParser->yyidx<0 ) return 0;    if( pParser->yyidx<0 ) return 0;
     yytos = &pParser->yystack[pParser->yyidx];
 #ifndef NDEBUG  #ifndef NDEBUG
   if( yyTraceFILE && pParser->yyidx>=0 ){    if( yyTraceFILE && pParser->yyidx>=0 ){
     fprintf(yyTraceFILE,"%sPopping %s\n",      fprintf(yyTraceFILE,"%sPopping %s\n",
Line 561  static void yy_reduce( Line 564  static void yy_reduce(
   ssiexprparserARG_FETCH;    ssiexprparserARG_FETCH;
   yymsp = &yypParser->yystack[yypParser->yyidx];    yymsp = &yypParser->yystack[yypParser->yyidx];
 #ifndef NDEBUG  #ifndef NDEBUG
  if( yyTraceFILE && yyruleno>=0  if( yyTraceFILE ) {
     if (yyruleno>=0
         && (size_t)yyruleno<sizeof(yyRuleName)/sizeof(yyRuleName[0]) ){          && (size_t)yyruleno<sizeof(yyRuleName)/sizeof(yyRuleName[0]) ){
    fprintf(yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt,      fprintf(yyTraceFILE, "%sReduce [%s].\n", yyTracePrompt,
      yyRuleName[yyruleno]);        yyRuleName[yyruleno]);
     } else {
       return; /*(should not happen)*/
     }
   }    }
 #endif /* NDEBUG */  #endif /* NDEBUG */
   
Line 578  static void yy_reduce( Line 585  static void yy_reduce(
   **     break;    **     break;
   */    */
       case 0:        case 0:
#line 29 "../../src/mod_ssi_exprparser.y"#line 30 "../../src/mod_ssi_exprparser.y"
 {  {
   ctx->val.bo = ssi_val_tobool(yymsp[0].minor.yy29);    ctx->val.bo = ssi_val_tobool(yymsp[0].minor.yy29);
   ctx->val.type = SSI_TYPE_BOOL;    ctx->val.type = SSI_TYPE_BOOL;
   
   ssi_val_free(yymsp[0].minor.yy29);    ssi_val_free(yymsp[0].minor.yy29);
 }  }
#line 588 "mod_ssi_exprparser.c"#line 595 "mod_ssi_exprparser.c"
         break;          break;
       case 1:        case 1:
#line 36 "../../src/mod_ssi_exprparser.y"#line 37 "../../src/mod_ssi_exprparser.y"
 {  {
   int cmp;    int cmp;
   
Line 614  static void yy_reduce( Line 621  static void yy_reduce(
   
   ssi_val_free(yymsp[0].minor.yy29);    ssi_val_free(yymsp[0].minor.yy29);
 }  }
#line 617 "mod_ssi_exprparser.c"#line 624 "mod_ssi_exprparser.c"
         break;          break;
       case 2:        case 2:
#line 61 "../../src/mod_ssi_exprparser.y"#line 62 "../../src/mod_ssi_exprparser.y"
 {  {
   yygotominor.yy29 = yymsp[0].minor.yy29;    yygotominor.yy29 = yymsp[0].minor.yy29;
 }  }
#line 624 "mod_ssi_exprparser.c"#line 631 "mod_ssi_exprparser.c"
         break;          break;
       case 3:        case 3:
#line 64 "../../src/mod_ssi_exprparser.y"#line 65 "../../src/mod_ssi_exprparser.y"
 {  {
   int e;    int e;
   
Line 635  static void yy_reduce( Line 642  static void yy_reduce(
   yygotominor.yy29->type = SSI_TYPE_BOOL;    yygotominor.yy29->type = SSI_TYPE_BOOL;
   ssi_val_free(yymsp[0].minor.yy29);    ssi_val_free(yymsp[0].minor.yy29);
 }  }
#line 638 "mod_ssi_exprparser.c"#line 645 "mod_ssi_exprparser.c"
   yy_destructor(1,&yymsp[-1].minor);    yy_destructor(1,&yymsp[-1].minor);
         break;          break;
       case 4:        case 4:
#line 75 "../../src/mod_ssi_exprparser.y"#line 76 "../../src/mod_ssi_exprparser.y"
 {  {
   int e;    int e;
   
Line 650  static void yy_reduce( Line 657  static void yy_reduce(
   yygotominor.yy29->type = SSI_TYPE_BOOL;    yygotominor.yy29->type = SSI_TYPE_BOOL;
   ssi_val_free(yymsp[0].minor.yy29);    ssi_val_free(yymsp[0].minor.yy29);
 }  }
#line 653 "mod_ssi_exprparser.c"#line 660 "mod_ssi_exprparser.c"
   yy_destructor(2,&yymsp[-1].minor);    yy_destructor(2,&yymsp[-1].minor);
         break;          break;
       case 5:        case 5:
#line 86 "../../src/mod_ssi_exprparser.y"#line 87 "../../src/mod_ssi_exprparser.y"
 {  {
   int e;    int e;
   
Line 664  static void yy_reduce( Line 671  static void yy_reduce(
   yygotominor.yy29->bo = e;    yygotominor.yy29->bo = e;
   yygotominor.yy29->type = SSI_TYPE_BOOL;    yygotominor.yy29->type = SSI_TYPE_BOOL;
 }  }
#line 667 "mod_ssi_exprparser.c"#line 674 "mod_ssi_exprparser.c"
   yy_destructor(9,&yymsp[-1].minor);    yy_destructor(9,&yymsp[-1].minor);
         break;          break;
       case 6:        case 6:
#line 95 "../../src/mod_ssi_exprparser.y"#line 96 "../../src/mod_ssi_exprparser.y"
 {  {
   yygotominor.yy29 = yymsp[-1].minor.yy29;    yygotominor.yy29 = yymsp[-1].minor.yy29;
 }  }
#line 675 "mod_ssi_exprparser.c"#line 682 "mod_ssi_exprparser.c"
   yy_destructor(10,&yymsp[-2].minor);    yy_destructor(10,&yymsp[-2].minor);
   yy_destructor(11,&yymsp[0].minor);    yy_destructor(11,&yymsp[0].minor);
         break;          break;
       case 7:        case 7:
#line 99 "../../src/mod_ssi_exprparser.y"#line 100 "../../src/mod_ssi_exprparser.y"
 {  {
   yygotominor.yy29 = ssi_val_init();    yygotominor.yy29 = ssi_val_init();
   yygotominor.yy29->str = yymsp[0].minor.yy19;    yygotominor.yy29->str = yymsp[0].minor.yy19;
   yygotominor.yy29->type = SSI_TYPE_STRING;    yygotominor.yy29->type = SSI_TYPE_STRING;
 }  }
#line 686 "mod_ssi_exprparser.c"#line 693 "mod_ssi_exprparser.c"
         break;          break;
       case 8:        case 8:
#line 105 "../../src/mod_ssi_exprparser.y"#line 106 "../../src/mod_ssi_exprparser.y"
 {  {
   yygotominor.yy19 = yymsp[0].minor.yy0;    yygotominor.yy19 = yymsp[0].minor.yy0;
 }  }
#line 693 "mod_ssi_exprparser.c"#line 700 "mod_ssi_exprparser.c"
         break;          break;
       case 9:        case 9:
#line 109 "../../src/mod_ssi_exprparser.y"#line 110 "../../src/mod_ssi_exprparser.y"
 {  {
   yygotominor.yy19 = yymsp[-1].minor.yy19;    yygotominor.yy19 = yymsp[-1].minor.yy19;
   buffer_append_string_buffer(yygotominor.yy19, yymsp[0].minor.yy0);    buffer_append_string_buffer(yygotominor.yy19, yymsp[0].minor.yy0);
   buffer_free(yymsp[0].minor.yy0);    buffer_free(yymsp[0].minor.yy0);
 }  }
#line 702 "mod_ssi_exprparser.c"#line 709 "mod_ssi_exprparser.c"
         break;          break;
       case 10:        case 10:
#line 115 "../../src/mod_ssi_exprparser.y"#line 116 "../../src/mod_ssi_exprparser.y"
 { yygotominor.yy8 = SSI_COND_EQ; }  { yygotominor.yy8 = SSI_COND_EQ; }
#line 707 "mod_ssi_exprparser.c"#line 714 "mod_ssi_exprparser.c"
   yy_destructor(3,&yymsp[0].minor);    yy_destructor(3,&yymsp[0].minor);
         break;          break;
       case 11:        case 11:
#line 116 "../../src/mod_ssi_exprparser.y"#line 117 "../../src/mod_ssi_exprparser.y"
 { yygotominor.yy8 = SSI_COND_NE; }  { yygotominor.yy8 = SSI_COND_NE; }
#line 713 "mod_ssi_exprparser.c"#line 720 "mod_ssi_exprparser.c"
   yy_destructor(4,&yymsp[0].minor);    yy_destructor(4,&yymsp[0].minor);
         break;          break;
       case 12:        case 12:
#line 117 "../../src/mod_ssi_exprparser.y"#line 118 "../../src/mod_ssi_exprparser.y"
 { yygotominor.yy8 = SSI_COND_LE; }  { yygotominor.yy8 = SSI_COND_LE; }
#line 719 "mod_ssi_exprparser.c"#line 726 "mod_ssi_exprparser.c"
   yy_destructor(8,&yymsp[0].minor);    yy_destructor(8,&yymsp[0].minor);
         break;          break;
       case 13:        case 13:
#line 118 "../../src/mod_ssi_exprparser.y"#line 119 "../../src/mod_ssi_exprparser.y"
 { yygotominor.yy8 = SSI_COND_GE; }  { yygotominor.yy8 = SSI_COND_GE; }
#line 725 "mod_ssi_exprparser.c"#line 732 "mod_ssi_exprparser.c"
   yy_destructor(6,&yymsp[0].minor);    yy_destructor(6,&yymsp[0].minor);
         break;          break;
       case 14:        case 14:
#line 119 "../../src/mod_ssi_exprparser.y"#line 120 "../../src/mod_ssi_exprparser.y"
 { yygotominor.yy8 = SSI_COND_LT; }  { yygotominor.yy8 = SSI_COND_LT; }
#line 731 "mod_ssi_exprparser.c"#line 738 "mod_ssi_exprparser.c"
   yy_destructor(7,&yymsp[0].minor);    yy_destructor(7,&yymsp[0].minor);
         break;          break;
       case 15:        case 15:
#line 120 "../../src/mod_ssi_exprparser.y"#line 121 "../../src/mod_ssi_exprparser.y"
 { yygotominor.yy8 = SSI_COND_GT; }  { yygotominor.yy8 = SSI_COND_GT; }
#line 737 "mod_ssi_exprparser.c"#line 744 "mod_ssi_exprparser.c"
   yy_destructor(5,&yymsp[0].minor);    yy_destructor(5,&yymsp[0].minor);
         break;          break;
   };    };
Line 764  static void yy_parse_failed( Line 771  static void yy_parse_failed(
   while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);    while( yypParser->yyidx>=0 ) yy_pop_parser_stack(yypParser);
   /* Here code is inserted which will be executed whenever the    /* Here code is inserted which will be executed whenever the
   ** parser fails */    ** parser fails */
#line 14 "../../src/mod_ssi_exprparser.y"#line 15 "../../src/mod_ssi_exprparser.y"
   
   ctx->ok = 0;    ctx->ok = 0;
   
#line 771 "mod_ssi_exprparser.c"#line 778 "mod_ssi_exprparser.c"
   ssiexprparserARG_STORE; /* Suppress warning about unused %extra_argument variable */    ssiexprparserARG_STORE; /* Suppress warning about unused %extra_argument variable */
 }  }
   

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


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