summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2009-09-08 04:25:00 +0000
committerTom Lane2009-09-08 04:25:00 +0000
commit7f3b32818559538dd65577810c636f0fbe6ee011 (patch)
tree0c28683fc18c5d4d3f46a5bb7849f896fd3e197b
parent788c6a9a53ae0213248fdec6c47851375b8429f6 (diff)
Remove outside-the-scanner references to "yyleng".
It seems the flex developers have decided to change yyleng from int to size_t. This has already happened in the latest release of OS X, and will start happening elsewhere once the next release of flex appears. Rather than trying to divine how it's declared in any particular build, let's just remove the one existing not-very-necessary external usage. Back-patch to all supported branches; not so much because users in the field are likely to care about building old branches with cutting-edge flex, as to keep OSX-based buildfarm members from having problems with old branches.
-rw-r--r--src/interfaces/ecpg/preproc/ecpg.header8
-rw-r--r--src/interfaces/ecpg/preproc/extern.h3
2 files changed, 3 insertions, 8 deletions
diff --git a/src/interfaces/ecpg/preproc/ecpg.header b/src/interfaces/ecpg/preproc/ecpg.header
index fd61be4e75..d4deabebe2 100644
--- a/src/interfaces/ecpg/preproc/ecpg.header
+++ b/src/interfaces/ecpg/preproc/ecpg.header
@@ -184,11 +184,7 @@ make3_str(char *str1, char *str2, char *str3)
static char *
make_name(void)
{
- char * name = (char *)mm_alloc(yyleng + 1);
-
- strncpy(name, yytext, yyleng);
- name[yyleng] = '\0';
- return(name);
+ return mm_strdup(yytext);
}
static char *
@@ -220,7 +216,7 @@ create_questionmarks(char *name, bool array)
for (; count > 0; count --)
{
sprintf(pacounter_buffer, "$%d", pacounter++);
- result = cat_str(3, result, strdup(pacounter_buffer), make_str(" , "));
+ result = cat_str(3, result, mm_strdup(pacounter_buffer), make_str(" , "));
}
/* removed the trailing " ," */
diff --git a/src/interfaces/ecpg/preproc/extern.h b/src/interfaces/ecpg/preproc/extern.h
index d760e23443..bdfe4d4628 100644
--- a/src/interfaces/ecpg/preproc/extern.h
+++ b/src/interfaces/ecpg/preproc/extern.h
@@ -39,8 +39,7 @@ extern char *yytext,
#ifdef YYDEBUG
extern int yydebug;
#endif
-extern int yylineno,
- yyleng;
+extern int yylineno;
extern FILE *yyin,
*yyout;
extern char *output_filename;