summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonty@mysql.com <>2004-06-25 18:55:03 +0300
committermonty@mysql.com <>2004-06-25 18:55:03 +0300
commitc3eb93604085134940f89c7d12366d431ced9ea9 (patch)
tree2d1467a41ccca408432f4ad785514c9db64f1ab5
parentb87824094070854b7284115ff43d146bb980ca73 (diff)
parent5db861c3e42d367ba19708bb7036a5ec91d434fd (diff)
downloadmariadb-git-c3eb93604085134940f89c7d12366d431ced9ea9.tar.gz
Merge mysql.com:/home/my/mysql-3.23 into mysql.com:/home/my/mysql-4.0
-rw-r--r--sql/sql_parse.cc4
-rw-r--r--sql/sql_yacc.yy4
2 files changed, 4 insertions, 4 deletions
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 4dd5d126cc9..1f0af05a460 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -2869,10 +2869,10 @@ bool check_stack_overrun(THD *thd,char *buf __attribute__((unused)))
#define MY_YACC_INIT 1000 // Start with big alloc
#define MY_YACC_MAX 32000 // Because of 'short'
-bool my_yyoverflow(short **yyss, YYSTYPE **yyvs, int *yystacksize)
+bool my_yyoverflow(short **yyss, YYSTYPE **yyvs, ulong *yystacksize)
{
LEX *lex=current_lex;
- int old_info=0;
+ ulong old_info=0;
if ((uint) *yystacksize >= MY_YACC_MAX)
return 1;
if (!lex->yacc_yyvs)
diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy
index 2930c60310a..a50e37e54f5 100644
--- a/sql/sql_yacc.yy
+++ b/sql/sql_yacc.yy
@@ -32,7 +32,7 @@
extern void yyerror(const char*);
int yylex(void *yylval);
-#define yyoverflow(A,B,C,D,E,F) if (my_yyoverflow((B),(D),(int*) (F))) { yyerror((char*) (A)); return 2; }
+#define yyoverflow(A,B,C,D,E,F) {ulong val= *(F); if(my_yyoverflow((B), (D), &val)) { yyerror((char*) (A)); return 2; } else { *(F)= (YYSIZE_T)val; }}
inline Item *or_or_concat(Item* A, Item* B)
{
@@ -71,7 +71,7 @@ inline Item *or_or_concat(Item* A, Item* B)
}
%{
-bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
+bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
%}
%pure_parser /* We have threads */