[Asterisk-cvs] asterisk ast_expr2.fl,1.2,1.3 ast_expr2.y,1.2,1.3
markster at lists.digium.com
markster at lists.digium.com
Thu Jun 16 20:31:42 CDT 2005
- Previous message: [Asterisk-cvs] asterisk-addons/asterisk-ooh323c/ooh323c/src
Makefile.am, 1.3, 1.4 Makefile.in, 1.3, 1.4 dlist.h, 1.1,
1.2 eventHandler.h, 1.1, 1.2 ooCalls.h, 1.2,
1.3 ooCapability.c, 1.2, 1.3 ooCapability.h, 1.4,
1.5 ooGkClient.c, 1.1, 1.2 ooGkClient.h, 1.2, 1.3 ooLogChan.c,
1.1, 1.2 ooSocket.c, 1.2, 1.3 ooSocket.h, 1.2,
1.3 ooStackCmds.h, 1.3, 1.4 ooasn1.h, 1.2, 1.3 oochannels.c,
1.4, 1.5 oochannels.h, 1.4, 1.5 ooh245.c, 1.4, 1.5 ooh245.h,
1.2, 1.3 ooh323.c, 1.3, 1.4 ooh323.h, 1.2, 1.3 ooh323ep.h, 1.3,
1.4 ooports.c, 1.2, 1.3 ooports.h, 1.2, 1.3 ooq931.c, 1.3,
1.4 ooq931.h, 1.3, 1.4 ootrace.c, 1.2, 1.3 ootrace.h, 1.2,
1.3 ootypes.h, 1.3, 1.4 rtctype.h, 1.1, 1.2
- Next message: [Asterisk-cvs] asterisk/doc README.variables,1.46,1.47
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv27295
Modified Files:
ast_expr2.fl ast_expr2.y
Log Message:
Fix expression handling for string comparisions without quotes (bug #4478)
Index: ast_expr2.fl
===================================================================
RCS file: /usr/cvsroot/asterisk/ast_expr2.fl,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- ast_expr2.fl 20 May 2005 03:18:35 -0000 1.2
+++ ast_expr2.fl 17 Jun 2005 00:33:00 -0000 1.3
@@ -32,6 +32,7 @@
#define SET_COLUMNS yylloc_param->first_column = (int)(yyg->yytext_r - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf);yylloc_param->last_column = yylloc_param->last_column + yyleng - 1; yylloc_param->first_line = yylloc_param->last_line = 1
#define SET_STRING yylval_param->val = (struct val *)calloc(sizeof(struct val),1); yylval_param->val->type = AST_EXPR_string; yylval_param->val->u.s = strdup(yytext);
+#define SET_NUMERIC_STRING yylval_param->val = (struct val *)calloc(sizeof(struct val),1); yylval_param->val->type = AST_EXPR_numeric_string; yylval_param->val->u.s = strdup(yytext);
struct parse_io
{
@@ -74,10 +75,8 @@
\"[^"]*\" {SET_COLUMNS; SET_STRING; return TOKEN;}
[\n] {/* what to do with eol */}
-[0-9]+ { SET_COLUMNS;
- yylval_param->val = (struct val *)calloc(sizeof(struct val),1);
- yylval_param->val->type = AST_EXPR_integer;
- yylval_param->val->u.i = atoi(yytext);
+[0-9]+ { SET_COLUMNS; /* the original behavior of the expression parser was to bring in numbers as a numeric string */
+ SET_NUMERIC_STRING;
return TOKEN;}
[a-zA-Z0-9,.?';{}\\_^%$#@!]+ {SET_COLUMNS; SET_STRING; return TOKEN;}
Index: ast_expr2.y
===================================================================
RCS file: /usr/cvsroot/asterisk/ast_expr2.y,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- ast_expr2.y 20 May 2005 03:18:35 -0000 1.2
+++ ast_expr2.y 17 Jun 2005 00:33:00 -0000 1.3
@@ -296,10 +296,11 @@
/* vp->type == AST_EXPR_numeric_string, make it numeric */
errno = 0;
- i = strtoq(vp->u.s, (char**)NULL, 10);
+ i = strtoll(vp->u.s, (char**)NULL, 10);
if (errno != 0) {
+ ast_log(LOG_WARNING,"Conversion of %s to integer under/overflowed!\n", vp->u.s);
free(vp->u.s);
- ast_log(LOG_WARNING,"overflow\n");
+ vp->u.s = 0;
return(0);
}
free (vp->u.s);
@@ -433,8 +434,15 @@
to_string (b);
r = make_integer ((quad_t)(strcoll (a->u.s, b->u.s) == 0));
} else {
+#ifdef DEBUG_FOR_CONVERSIONS
+ char buffer[2000];
+ sprintf(buffer,"Converting '%s' and '%s' ", a->u.s, b->u.s);
+#endif
(void)to_integer(a);
(void)to_integer(b);
+#ifdef DEBUG_FOR_CONVERSIONS
+ ast_log(LOG_WARNING,"%s to '%lld' and '%lld'\n", buffer, a->u.i, b->u.i);
+#endif
r = make_integer ((quad_t)(a->u.i == b->u.i));
}
- Previous message: [Asterisk-cvs] asterisk-addons/asterisk-ooh323c/ooh323c/src
Makefile.am, 1.3, 1.4 Makefile.in, 1.3, 1.4 dlist.h, 1.1,
1.2 eventHandler.h, 1.1, 1.2 ooCalls.h, 1.2,
1.3 ooCapability.c, 1.2, 1.3 ooCapability.h, 1.4,
1.5 ooGkClient.c, 1.1, 1.2 ooGkClient.h, 1.2, 1.3 ooLogChan.c,
1.1, 1.2 ooSocket.c, 1.2, 1.3 ooSocket.h, 1.2,
1.3 ooStackCmds.h, 1.3, 1.4 ooasn1.h, 1.2, 1.3 oochannels.c,
1.4, 1.5 oochannels.h, 1.4, 1.5 ooh245.c, 1.4, 1.5 ooh245.h,
1.2, 1.3 ooh323.c, 1.3, 1.4 ooh323.h, 1.2, 1.3 ooh323ep.h, 1.3,
1.4 ooports.c, 1.2, 1.3 ooports.h, 1.2, 1.3 ooq931.c, 1.3,
1.4 ooq931.h, 1.3, 1.4 ootrace.c, 1.2, 1.3 ootrace.h, 1.2,
1.3 ootypes.h, 1.3, 1.4 rtctype.h, 1.1, 1.2
- Next message: [Asterisk-cvs] asterisk/doc README.variables,1.46,1.47
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the svn-commits
mailing list