]> granicus.if.org Git - postgresql/commitdiff
Remove outside-the-scanner references to "yyleng".
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 8 Sep 2009 04:25:25 +0000 (04:25 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 8 Sep 2009 04:25:25 +0000 (04:25 +0000)
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.

src/interfaces/ecpg/preproc/extern.h
src/interfaces/ecpg/preproc/preproc.y

index c9097c87eec19e2785135950a323508bc1f34825..8bb943c47311690c227015fe3e7aa533f1ce0b72 100644 (file)
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/extern.h,v 1.70 2007/11/15 21:14:45 momjian Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/extern.h,v 1.70.2.1 2009/09/08 04:25:25 tgl Exp $ */
 
 #ifndef _ECPG_PREPROC_EXTERN_H
 #define _ECPG_PREPROC_EXTERN_H
@@ -38,8 +38,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;
index ef63a7a03c373a05354368c7fa5c81a00f9afb31..49540aa742dd32572e4114ec201084125225143a 100644 (file)
@@ -1,4 +1,4 @@
-/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.359.2.6 2008/10/10 12:20:06 meskes Exp $ */
+/* $PostgreSQL: pgsql/src/interfaces/ecpg/preproc/preproc.y,v 1.359.2.7 2009/09/08 04:25:25 tgl Exp $ */
 
 /* Copyright comment */
 %{
@@ -173,11 +173,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 *