]> git.pld-linux.org Git - packages/kannel.git/commitdiff
- updated to 1.4.5
authorAdam Gołębiowski <adamg@pld-linux.org>
Fri, 28 Sep 2018 10:11:11 +0000 (12:11 +0200)
committerAdam Gołębiowski <adamg@pld-linux.org>
Fri, 28 Sep 2018 10:11:11 +0000 (12:11 +0200)
- bison 3.0+ support (patch from https://redmine.kannel.org/issues/699)
- release 0.1, working on openssl 1.1.0 support

kannel-bison.patch [new file with mode: 0644]
kannel.spec

diff --git a/kannel-bison.patch b/kannel-bison.patch
new file mode 100644 (file)
index 0000000..fb25963
--- /dev/null
@@ -0,0 +1,690 @@
+bison 3.0+ support, patch from https://redmine.kannel.org/issues/699
+
+diff -ur gateway-1.4.5.orig/wmlscript/wsgram.y gateway-1.4.5/wmlscript/wsgram.y
+--- gateway-1.4.5.orig/wmlscript/wsgram.y      2013-12-17 05:50:51.000000000 -0500
++++ gateway-1.4.5/wmlscript/wsgram.y   2018-08-17 15:43:57.000000000 -0500
+@@ -14,18 +14,9 @@
+ #include "wmlscript/wsint.h"
+-/* The required yyerror() function.  This is actually not used but to
+-   report the internal parser errors.  All other errors are reported
+-   by using the `wserror.h' functions. */
+-extern void yyerror(char *msg);
+-
+-#if WS_DEBUG
+-/* Just for debugging purposes. */
+-WsCompilerPtr global_compiler = NULL;
+-#endif /* WS_DEBUG */
+-
+ %}
++
+ /* The possible semantic values. */
+ %union
+ {
+@@ -45,6 +36,19 @@
+     WsExpression *expr;
+ }
++%{
++/* The required yyerror() function.  This is actually not used but to
++   report the internal parser errors.  All other errors are reported
++   by using the `wserror.h' functions. */
++extern void yyerror(YYLTYPE* locp, WsCompiler* compiler, const char* msg);
++
++#if WS_DEBUG
++/* Just for debugging purposes. */
++WsCompilerPtr global_compiler = NULL;
++#endif /* WS_DEBUG */
++
++%}
++
+ /* Tokens. */
+ /* Language literals. */
+@@ -106,6 +110,8 @@
+ /* Generate reentrant parser. */
+ %pure-parser
++%parse-param { WsCompiler* compiler }
++%lex-param   { WsCompiler* compiler }
+ /* This grammar has one shift-reduce conflict.  It comes from the
+    if-else statement. */
+@@ -119,7 +125,7 @@
+         Pragmas FunctionDeclarations
+       | FunctionDeclarations
+       | error
+-              { ws_error_syntax(pctx, @1.first_line); }
++              { ws_error_syntax(compiler, @1.first_line); }
+       ;
+ /* Pragmas. */
+@@ -132,7 +138,7 @@
+ Pragma:
+         tUSE PragmaDeclaration ';'
+       | error
+-              { ws_error_syntax(pctx, @1.first_line); }
++              { ws_error_syntax(compiler, @1.first_line); }
+       ;
+ PragmaDeclaration:
+@@ -143,7 +149,7 @@
+ ExternalCompilationUnitPragma:
+         tURL tIDENTIFIER tSTRING
+-              { ws_pragma_use(pctx, @2.first_line, $2, $3); }
++              { ws_pragma_use(compiler, @2.first_line, $2, $3); }
+       ;
+ AccessControlPragma:
+@@ -153,28 +159,23 @@
+ AccessControlSpecifier:
+         tDOMAIN tSTRING
+               {
+-                  WsCompiler *compiler = (WsCompiler *) pctx;
+-
+                   /* Pass this to the byte-code */
+                   if (!ws_bc_add_pragma_access_domain(compiler->bc, $2->data,
+                                                       $2->len))
+-                      ws_error_memory(pctx);
++                      ws_error_memory(compiler);
+                   ws_lexer_free_utf8(compiler, $2);
+               }
+       | tPATH tSTRING
+               {
+-                  WsCompiler *compiler = (WsCompiler *) pctx;
+-
+                   /* Pass this to the byte-code */
+                   if (!ws_bc_add_pragma_access_path(compiler->bc, $2->data,
+                                                     $2->len))
+-                      ws_error_memory(pctx);
++                      ws_error_memory(compiler);
+                   ws_lexer_free_utf8(compiler, $2);
+               }
+       | tDOMAIN tSTRING tPATH tSTRING
+               {
+-                  WsCompiler *compiler = (WsCompiler *) pctx;
+                   WsBool success = WS_TRUE;
+                   /* Pass these to the byte-code */
+@@ -187,7 +188,7 @@
+                       success = WS_FALSE;
+                   if (!success)
+-                      ws_error_memory(pctx);
++                      ws_error_memory(compiler);
+                   ws_lexer_free_utf8(compiler, $2);
+                   ws_lexer_free_utf8(compiler, $4);
+@@ -207,8 +208,6 @@
+ MetaName:
+         tNAME MetaBody
+               {
+-                  WsCompiler *compiler = (WsCompiler *) pctx;
+-
+                   /* Meta information for the origin servers.  Show it
+                      * to the user if requested. */
+                   if (compiler->params.meta_name_cb)
+@@ -225,8 +224,6 @@
+ MetaHttpEquiv:
+         tHTTP tEQUIV MetaBody
+               {
+-                  WsCompiler *compiler = (WsCompiler *) pctx;
+-
+                   /* Meta information HTTP header that should be
+                      * included to an HTTP response header.  Show it to
+                      * the user if requested. */
+@@ -246,7 +243,6 @@
+         tUSER tAGENT MetaBody
+               {
+                   WsBool success;
+-                  WsCompiler *compiler = (WsCompiler *) pctx;
+                   /* Pass this pragma to the byte-code */
+                   if ($3) {
+@@ -272,16 +268,16 @@
+                       ws_pragma_meta_body_free(compiler, $3);
+                       if (!success)
+-                          ws_error_memory(pctx);
++                          ws_error_memory(compiler);
+                   }
+               }
+       ;
+ MetaBody:
+         MetaPropertyName MetaContent
+-              { $$ = ws_pragma_meta_body(pctx, $1, $2, NULL); }
++              { $$ = ws_pragma_meta_body(compiler, $1, $2, NULL); }
+       | MetaPropertyName MetaContent MetaScheme
+-              { $$ = ws_pragma_meta_body(pctx, $1, $2, $3); }
++              { $$ = ws_pragma_meta_body(compiler, $1, $2, $3); }
+       ;
+ MetaPropertyName: tSTRING;
+@@ -301,12 +297,12 @@
+               {
+                   char *name = ws_strdup($3);
+-                  ws_lexer_free_block(pctx, $3);
++                  ws_lexer_free_block(compiler, $3);
+                   if (name)
+-                      ws_function(pctx, $1, name, @3.first_line, $5, $7);
++                      ws_function(compiler, $1, name, @3.first_line, $5, $7);
+                   else
+-                      ws_error_memory(pctx);
++                      ws_error_memory(compiler);
+               }
+       ;
+@@ -317,7 +313,7 @@
+ FormalParameterListOpt:
+         /* empty */
+-              { $$ = ws_list_new(pctx); }
++              { $$ = ws_list_new(compiler); }
+       | FormalParameterList
+       ;
+@@ -332,17 +328,17 @@
+                     char *id;
+                     WsFormalParm *parm;
+-                  id = ws_f_strdup(((WsCompiler *) pctx)->pool_stree, $1);
+-                    parm = ws_formal_parameter(pctx, @1.first_line, id);
++                  id = ws_f_strdup((compiler)->pool_stree, $1);
++                    parm = ws_formal_parameter(compiler, @1.first_line, id);
+-                  ws_lexer_free_block(pctx, $1);
++                  ws_lexer_free_block(compiler, $1);
+                   if (id == NULL || parm == NULL) {
+-                      ws_error_memory(pctx);
++                      ws_error_memory(compiler);
+                       $$ = NULL;
+                   } else {
+-                      $$ = ws_list_new(pctx);
+-                      ws_list_append(pctx, $$, parm);
++                      $$ = ws_list_new(compiler);
++                      ws_list_append(compiler, $$, parm);
+                   }
+               }
+       | FormalParameterList ',' tIDENTIFIER
+@@ -350,16 +346,16 @@
+                     char *id;
+                     WsFormalParm *parm;
+-                  id = ws_f_strdup(((WsCompiler *) pctx)->pool_stree, $3);
+-                    parm = ws_formal_parameter(pctx, @1.first_line, id);
++                  id = ws_f_strdup(compiler->pool_stree, $3);
++                    parm = ws_formal_parameter(compiler, @1.first_line, id);
+-                  ws_lexer_free_block(pctx, $3);
++                  ws_lexer_free_block(compiler, $3);
+                   if (id == NULL || parm == NULL) {
+-                      ws_error_memory(pctx);
++                      ws_error_memory(compiler);
+                       $$ = NULL;
+                   } else
+-                      ws_list_append(pctx, $1, parm);
++                      ws_list_append(compiler, $1, parm);
+               }
+       ;
+@@ -369,22 +365,22 @@
+         Block
+               {
+                   if ($1)
+-                      $$ = ws_stmt_block(pctx, $1->first_line, $1->last_line,
++                      $$ = ws_stmt_block(compiler, $1->first_line, $1->last_line,
+                                          $1);
+                   else
+                       $$ = NULL;
+               }
+       | VariableStatement
+       | ';'                   /* EmptyStatement */
+-              { $$ = ws_stmt_empty(pctx, @1.first_line); }
++              { $$ = ws_stmt_empty(compiler, @1.first_line); }
+       | Expression ';'        /* ExpressionStatement */
+-              { $$ = ws_stmt_expr(pctx, $1->line, $1); }
++              { $$ = ws_stmt_expr(compiler, $1->line, $1); }
+       | IfStatement
+       | IterationStatement
+       | tCONTINUE ';'         /* ContinueStatement */
+-              { $$ = ws_stmt_continue(pctx, @1.first_line); }
++              { $$ = ws_stmt_continue(compiler, @1.first_line); }
+       | tBREAK ';'            /* BreakStatement */
+-              { $$ = ws_stmt_break(pctx, @1.first_line); }
++              { $$ = ws_stmt_break(compiler, @1.first_line); }
+       | ReturnStatement
+       ;
+@@ -398,56 +394,56 @@
+               }
+       | error
+               {
+-                  ws_error_syntax(pctx, @1.first_line);
++                  ws_error_syntax(compiler, @1.first_line);
+                   $$ = NULL;
+               }
+       ;
+ StatementListOpt:
+         /* empty */
+-              { $$ = ws_list_new(pctx); }
++              { $$ = ws_list_new(compiler); }
+       | StatementList
+       ;
+ StatementList:
+         Statement
+               {
+-                  $$ = ws_list_new(pctx);
+-                  ws_list_append(pctx, $$, $1);
++                  $$ = ws_list_new(compiler);
++                  ws_list_append(compiler, $$, $1);
+               }
+       | StatementList Statement
+-              { ws_list_append(pctx, $1, $2); }
++              { ws_list_append(compiler, $1, $2); }
+       ;
+ VariableStatement:
+         tVAR VariableDeclarationList ';'
+-              { $$ = ws_stmt_variable(pctx, @1.first_line, $2); }
++              { $$ = ws_stmt_variable(compiler, @1.first_line, $2); }
+       | tVAR error
+-              { ws_error_syntax(pctx, @2.first_line); }
++              { ws_error_syntax(compiler, @2.first_line); }
+       ;
+ VariableDeclarationList:
+         VariableDeclaration
+               {
+-                  $$ = ws_list_new(pctx);
+-                  ws_list_append(pctx, $$, $1);
++                  $$ = ws_list_new(compiler);
++                  ws_list_append(compiler, $$, $1);
+               }
+       | VariableDeclarationList ',' VariableDeclaration
+-              { ws_list_append(pctx, $1, $3); }
++              { ws_list_append(compiler, $1, $3); }
+       ;
+ VariableDeclaration:
+         tIDENTIFIER VariableInitializedOpt
+               {
+-                  char *id = ws_f_strdup(((WsCompiler *) pctx)->pool_stree,
++                  char *id = ws_f_strdup(compiler->pool_stree,
+                                          $1);
+-                  ws_lexer_free_block(pctx, $1);
++                  ws_lexer_free_block(compiler, $1);
+                   if (id == NULL) {
+-                      ws_error_memory(pctx);
++                      ws_error_memory(compiler);
+                       $$ = NULL;
+                   } else
+-                      $$ = ws_variable_declaration(pctx, id, $2);
++                      $$ = ws_variable_declaration(compiler, id, $2);
+               }
+       ;
+@@ -460,29 +456,29 @@
+ IfStatement:
+         tIF '(' Expression ')' Statement tELSE Statement
+-              { $$ = ws_stmt_if(pctx, @1.first_line, $3, $5, $7); }
++              { $$ = ws_stmt_if(compiler, @1.first_line, $3, $5, $7); }
+       | tIF '(' Expression ')' Statement
+-              { $$ = ws_stmt_if(pctx, @1.first_line, $3, $5, NULL); }
++              { $$ = ws_stmt_if(compiler, @1.first_line, $3, $5, NULL); }
+       ;
+ IterationStatement:
+         tWHILE '(' Expression ')' Statement
+-              { $$ = ws_stmt_while(pctx, @1.first_line, $3, $5); }
++              { $$ = ws_stmt_while(compiler, @1.first_line, $3, $5); }
+       | ForStatement
+       ;
+ ForStatement:
+         tFOR '(' ExpressionOpt ';' ExpressionOpt ';' ExpressionOpt ')'
+                       Statement
+-              { $$ = ws_stmt_for(pctx, @1.first_line, NULL, $3, $5, $7, $9); }
++              { $$ = ws_stmt_for(compiler, @1.first_line, NULL, $3, $5, $7, $9); }
+       | tFOR '(' tVAR VariableDeclarationList ';' ExpressionOpt ';'
+                       ExpressionOpt ')' Statement
+-              { $$ = ws_stmt_for(pctx, @1.first_line, $4, NULL, $6, $8, $10); }
++              { $$ = ws_stmt_for(compiler, @1.first_line, $4, NULL, $6, $8, $10); }
+       ;
+ ReturnStatement:
+         tRETURN ExpressionOpt ';'
+-              { $$ = ws_stmt_return(pctx, @1.first_line, $2); }
++              { $$ = ws_stmt_return(compiler, @1.first_line, $2); }
+       ;
+ /* Expressions. */
+@@ -496,135 +492,135 @@
+ Expression:
+         AssignmentExpression
+       | Expression ',' AssignmentExpression
+-              { $$ = ws_expr_comma(pctx, @2.first_line, $1, $3); }
++              { $$ = ws_expr_comma(compiler, @2.first_line, $1, $3); }
+       ;
+ AssignmentExpression:
+         ConditionalExpression
+       | tIDENTIFIER   '='             AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, '=', $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, '=', $3); }
+       | tIDENTIFIER   tMULA           AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tMULA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tMULA, $3); }
+       | tIDENTIFIER   tDIVA           AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tDIVA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tDIVA, $3); }
+       | tIDENTIFIER   tREMA           AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tREMA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tREMA, $3); }
+       | tIDENTIFIER   tADDA           AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tADDA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tADDA, $3); }
+       | tIDENTIFIER   tSUBA           AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tSUBA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tSUBA, $3); }
+       | tIDENTIFIER   tLSHIFTA        AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tLSHIFTA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tLSHIFTA, $3); }
+       | tIDENTIFIER   tRSSHIFTA       AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tRSSHIFTA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tRSSHIFTA, $3); }
+       | tIDENTIFIER   tRSZSHIFTA      AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tRSZSHIFTA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tRSZSHIFTA, $3); }
+       | tIDENTIFIER   tANDA           AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tANDA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tANDA, $3); }
+       | tIDENTIFIER   tXORA           AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tXORA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tXORA, $3); }
+       | tIDENTIFIER   tORA            AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tORA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tORA, $3); }
+       | tIDENTIFIER   tIDIVA          AssignmentExpression
+-              { $$ = ws_expr_assign(pctx, @1.first_line, $1, tIDIVA, $3); }
++              { $$ = ws_expr_assign(compiler, @1.first_line, $1, tIDIVA, $3); }
+       ;
+ ConditionalExpression:
+         LogicalORExpression
+       | LogicalORExpression '?' AssignmentExpression ':' AssignmentExpression
+-              { $$ = ws_expr_conditional(pctx, @2.first_line, $1, $3, $5); }
++              { $$ = ws_expr_conditional(compiler, @2.first_line, $1, $3, $5); }
+       ;
+ LogicalORExpression:
+         LogicalANDExpression
+       | LogicalORExpression tOR LogicalANDExpression
+-              { $$ = ws_expr_logical(pctx, @2.first_line, WS_ASM_SCOR, $1, $3); }
++              { $$ = ws_expr_logical(compiler, @2.first_line, WS_ASM_SCOR, $1, $3); }
+       ;
+ LogicalANDExpression:
+         BitwiseORExpression
+       | LogicalANDExpression tAND BitwiseORExpression
+-              { $$ = ws_expr_logical(pctx, @2.first_line, WS_ASM_SCAND, $1, $3); }
++              { $$ = ws_expr_logical(compiler, @2.first_line, WS_ASM_SCAND, $1, $3); }
+       ;
+ BitwiseORExpression:
+         BitwiseXORExpression
+       | BitwiseORExpression '|' BitwiseXORExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_B_OR, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_B_OR, $1, $3); }
+       ;
+ BitwiseXORExpression:
+         BitwiseANDExpression
+       | BitwiseXORExpression '^' BitwiseANDExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_B_XOR, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_B_XOR, $1, $3); }
+       ;
+ BitwiseANDExpression:
+         EqualityExpression
+       | BitwiseANDExpression '&' EqualityExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_B_AND, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_B_AND, $1, $3); }
+       ;
+ EqualityExpression:
+         RelationalExpression
+       | EqualityExpression tEQ RelationalExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_EQ, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_EQ, $1, $3); }
+       | EqualityExpression tNE RelationalExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_NE, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_NE, $1, $3); }
+       ;
+ RelationalExpression:
+         ShiftExpression
+       | RelationalExpression '<' ShiftExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_LT, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_LT, $1, $3); }
+       | RelationalExpression '>' ShiftExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_GT, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_GT, $1, $3); }
+       | RelationalExpression tLE ShiftExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_LE, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_LE, $1, $3); }
+       | RelationalExpression tGE ShiftExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_GE, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_GE, $1, $3); }
+       ;
+ ShiftExpression:
+         AdditiveExpression
+       | ShiftExpression tLSHIFT AdditiveExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_B_LSHIFT, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_B_LSHIFT, $1, $3); }
+       | ShiftExpression tRSSHIFT AdditiveExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_B_RSSHIFT, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_B_RSSHIFT, $1, $3); }
+       | ShiftExpression tRSZSHIFT AdditiveExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_B_RSZSHIFT, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_B_RSZSHIFT, $1, $3); }
+       ;
+ AdditiveExpression:
+         MultiplicativeExpression
+       | AdditiveExpression '+' MultiplicativeExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_ADD, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_ADD, $1, $3); }
+       | AdditiveExpression '-' MultiplicativeExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_SUB, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_SUB, $1, $3); }
+       ;
+ MultiplicativeExpression:
+         UnaryExpression
+       | MultiplicativeExpression '*' UnaryExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_MUL, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_MUL, $1, $3); }
+       | MultiplicativeExpression '/' UnaryExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_DIV, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_DIV, $1, $3); }
+       | MultiplicativeExpression tIDIV UnaryExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_IDIV, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_IDIV, $1, $3); }
+       | MultiplicativeExpression '%' UnaryExpression
+-              { $$ = ws_expr_binary(pctx, @2.first_line, WS_ASM_REM, $1, $3); }
++              { $$ = ws_expr_binary(compiler, @2.first_line, WS_ASM_REM, $1, $3); }
+       ;
+ UnaryExpression:
+         PostfixExpression
+       | tTYPEOF UnaryExpression
+-              { $$ = ws_expr_unary(pctx, @1.first_line, WS_ASM_TYPEOF, $2); }
++              { $$ = ws_expr_unary(compiler, @1.first_line, WS_ASM_TYPEOF, $2); }
+       | tISVALID UnaryExpression
+-              { $$ = ws_expr_unary(pctx, @1.first_line, WS_ASM_ISVALID, $2); }
++              { $$ = ws_expr_unary(compiler, @1.first_line, WS_ASM_ISVALID, $2); }
+       | tPLUSPLUS tIDENTIFIER
+-              { $$ = ws_expr_unary_var(pctx, @1.first_line, WS_TRUE, $2); }
++              { $$ = ws_expr_unary_var(compiler, @1.first_line, WS_TRUE, $2); }
+       | tMINUSMINUS tIDENTIFIER
+-              { $$ = ws_expr_unary_var(pctx, @1.first_line, WS_FALSE, $2); }
++              { $$ = ws_expr_unary_var(compiler, @1.first_line, WS_FALSE, $2); }
+       | '+' UnaryExpression
+               {
+                     /* There is no direct way to compile unary `+'.
+@@ -638,65 +634,65 @@
+                      * because binary `+' accepts strings, which makes the
+                    * type conversion different.
+                      */
+-                    $$ = ws_expr_binary(pctx, @1.first_line, WS_ASM_SUB, $2,
+-                              ws_expr_const_integer(pctx, @1.first_line, 0));
++                    $$ = ws_expr_binary(compiler, @1.first_line, WS_ASM_SUB, $2,
++                              ws_expr_const_integer(compiler, @1.first_line, 0));
+               }
+       | '-' UnaryExpression
+-              { $$ = ws_expr_unary(pctx, @1.first_line, WS_ASM_UMINUS, $2); }
++              { $$ = ws_expr_unary(compiler, @1.first_line, WS_ASM_UMINUS, $2); }
+       | '~' UnaryExpression
+-              { $$ = ws_expr_unary(pctx, @1.first_line, WS_ASM_B_NOT, $2); }
++              { $$ = ws_expr_unary(compiler, @1.first_line, WS_ASM_B_NOT, $2); }
+       | '!' UnaryExpression
+-              { $$ = ws_expr_unary(pctx, @1.first_line, WS_ASM_NOT, $2); }
++              { $$ = ws_expr_unary(compiler, @1.first_line, WS_ASM_NOT, $2); }
+       ;
+ PostfixExpression:
+         CallExpression
+       | tIDENTIFIER tPLUSPLUS
+-              { $$ = ws_expr_postfix_var(pctx, @1.first_line, WS_TRUE, $1); }
++              { $$ = ws_expr_postfix_var(compiler, @1.first_line, WS_TRUE, $1); }
+       | tIDENTIFIER tMINUSMINUS
+-              { $$ = ws_expr_postfix_var(pctx, @1.first_line, WS_FALSE, $1); }
++              { $$ = ws_expr_postfix_var(compiler, @1.first_line, WS_FALSE, $1); }
+       ;
+ CallExpression:
+         PrimaryExpression
+       | tIDENTIFIER Arguments                 /* LocalScriptFunctionCall */
+               {
+-                  WsFunctionHash *f = ws_function_hash(pctx, $1);
++                  WsFunctionHash *f = ws_function_hash(compiler, $1);
+                   /* Add an usage count for the local script function. */
+                   if (f)
+                     f->usage_count++;
+-                  $$ = ws_expr_call(pctx, @1.first_line, ' ', NULL, $1, $2);
++                  $$ = ws_expr_call(compiler, @1.first_line, ' ', NULL, $1, $2);
+               }
+       | tIDENTIFIER '#' tIDENTIFIER Arguments /* ExternalScriptFunctionCall*/
+-              { $$ = ws_expr_call(pctx, @3.first_line, '#', $1, $3, $4); }
++              { $$ = ws_expr_call(compiler, @3.first_line, '#', $1, $3, $4); }
+       | tIDENTIFIER '.' tIDENTIFIER Arguments /* LibraryFunctionCall */
+-              { $$ = ws_expr_call(pctx, @3.first_line, '.', $1, $3, $4); }
++              { $$ = ws_expr_call(compiler, @3.first_line, '.', $1, $3, $4); }
+       ;
+ PrimaryExpression:
+         tIDENTIFIER
+-              { $$ = ws_expr_symbol(pctx, @1.first_line, $1); }
++              { $$ = ws_expr_symbol(compiler, @1.first_line, $1); }
+       | tINVALID
+-              { $$ = ws_expr_const_invalid(pctx, @1.first_line); }
++              { $$ = ws_expr_const_invalid(compiler, @1.first_line); }
+       | tTRUE
+-              { $$ = ws_expr_const_true(pctx, @1.first_line); }
++              { $$ = ws_expr_const_true(compiler, @1.first_line); }
+       | tFALSE
+-              { $$ = ws_expr_const_false(pctx, @1.first_line); }
++              { $$ = ws_expr_const_false(compiler, @1.first_line); }
+       | tINTEGER
+-              { $$ = ws_expr_const_integer(pctx, @1.first_line, $1); }
++              { $$ = ws_expr_const_integer(compiler, @1.first_line, $1); }
+       | tFLOAT
+-              { $$ = ws_expr_const_float(pctx, @1.first_line, $1); }
++              { $$ = ws_expr_const_float(compiler, @1.first_line, $1); }
+       | tSTRING
+-              { $$ = ws_expr_const_string(pctx, @1.first_line, $1); }
++              { $$ = ws_expr_const_string(compiler, @1.first_line, $1); }
+       | '(' Expression ')'
+               { $$ = $2; }
+       ;
+ Arguments:
+         '(' ')'
+-              { $$ = ws_list_new(pctx); }
++              { $$ = ws_list_new(compiler); }
+       | '(' ArgumentList ')'
+               { $$ = $2; }
+       ;
+@@ -704,17 +700,17 @@
+ ArgumentList:
+         AssignmentExpression
+               {
+-                  $$ = ws_list_new(pctx);
+-                  ws_list_append(pctx, $$, $1);
++                  $$ = ws_list_new(compiler);
++                  ws_list_append(compiler, $$, $1);
+               }
+       | ArgumentList ',' AssignmentExpression
+-              { ws_list_append(pctx, $1, $3); }
++              { ws_list_append(compiler, $1, $3); }
+       ;
+ %%
+ void
+-yyerror(char *msg)
++yyerror(YYLTYPE* locp, WsCompiler* compiler, const char* msg)
+ {
+ #if WS_DEBUG
+   fprintf(stderr, "*** %s:%ld: wsc: %s - this msg will be removed ***\n",
+diff -ur gateway-1.4.5.orig/wmlscript/wsint.h gateway-1.4.5/wmlscript/wsint.h
+--- gateway-1.4.5.orig/wmlscript/wsint.h       2018-01-17 04:24:38.000000000 -0500
++++ gateway-1.4.5/wmlscript/wsint.h    2018-08-17 15:45:26.000000000 -0500
+@@ -269,9 +269,6 @@
+ /********************* Lexer and parser *********************************/
+-#define YYPARSE_PARAM   pctx
+-#define YYLEX_PARAM     pctx
+-
+ /* The lexer. */
+ extern int yylex();
+@@ -293,6 +290,6 @@
+ void ws_lexer_free_utf8(WsCompiler *compiler, WsUtf8String *string);
+ /* The parser. */
+-int ws_yy_parse(void *context);
++int ws_yy_parse(WsCompiler* compiler);
+ #endif /* not WSINT_H */
+diff -ur gateway-1.4.5.orig/wmlscript/wslexer.c gateway-1.4.5/wmlscript/wslexer.c
+--- gateway-1.4.5.orig/wmlscript/wslexer.c     2018-01-17 04:24:38.000000000 -0500
++++ gateway-1.4.5/wmlscript/wslexer.c  2018-08-17 15:15:28.000000000 -0500
+@@ -218,9 +218,8 @@
+ /********************* Global functions *********************************/
+-int ws_yy_lex(YYSTYPE *yylval, YYLTYPE *yylloc, void *context)
++int ws_yy_lex(YYSTYPE *yylval, YYLTYPE *yylloc, WsCompiler* compiler)
+ {
+-    WsCompiler *compiler = (WsCompiler *) context;
+     WsUInt32 ch, ch2;
+     WsBuffer buffer;
+     unsigned char *p;
index 283841d21534b8a93d0ae7b7e0d9a10b9dc09318..0dab00df42d64181019da206ab0c7eade511d491 100644 (file)
@@ -9,17 +9,16 @@
 Summary:       SMS/WAP gateway
 Summary(pl.UTF-8):     Bramka WAP oraz SMS
 Name:          kannel
-Version:       1.4.3
-Release:       7
+Version:       1.4.5
+Release:       0.1
 License:       BSD-like (see COPYING)
 Group:         Networking/Daemons
 Source0:       http://www.kannel.org/download/%{version}/gateway-%{version}.tar.gz
-# Source0-md5: 8925b147fb7aa01a10fa4f53cfeb03e9
+# Source0-md5: b6b5b48edb646e0e0e2ea5378c8ac9ff
 Source1:       %{name}.init
 Source2:       %{name}.sysconfig
 Source3:       %{name}.conf
-Patch0:                %{name}-types.patch
-Patch1:                %{name}-nolibs.patch
+Patch0:                %{name}-bison.patch
 URL:           http://www.kannel.org/
 BuildRequires: ImageMagick
 BuildRequires: autoconf
@@ -61,7 +60,6 @@ SMS, więc pozwala to na obsługę większej liczby klientów.
 %prep
 %setup -q -n gateway-%{version}
 %patch0 -p1
-#%patch1 -p1
 
 %build
 cp -f /usr/share/automake/config.sub .
This page took 0.121804 seconds and 4 git commands to generate.