From a72d66f25f57fb8c1e5a3e419eea7ec286a7b325 Mon Sep 17 00:00:00 2001 From: John Naylor Date: Sun, 30 Sep 2018 14:01:08 +0700 Subject: [PATCH v1 4/4] Remove unused functions and declarations from ECPG scanner. --- src/interfaces/ecpg/preproc/extern.h | 4 +-- src/interfaces/ecpg/preproc/pgc.l | 45 +--------------------------- 2 files changed, 2 insertions(+), 47 deletions(-) diff --git a/src/interfaces/ecpg/preproc/extern.h b/src/interfaces/ecpg/preproc/extern.h index d0c4e47016..aef65657da 100644 --- a/src/interfaces/ecpg/preproc/extern.h +++ b/src/interfaces/ecpg/preproc/extern.h @@ -76,7 +76,7 @@ extern char *hashline_number(void); extern int base_yyparse(void); extern int base_yylex(void); extern void base_yyerror(const char *); -extern void *mm_alloc(size_t), *mm_realloc(void *, size_t); +extern void *mm_alloc(size_t); extern char *mm_strdup(const char *); extern void mmerror(int errorcode, enum errortype type, const char *error,...) pg_attribute_printf(3, 4); extern void mmfatal(int errorcode, const char *error,...) pg_attribute_printf(2, 3) pg_attribute_noreturn(); @@ -105,9 +105,7 @@ extern void remove_variables(int); extern struct variable *new_variable(const char *, struct ECPGtype *, int); extern const ScanKeyword *ScanCKeywordLookup(const char *); extern const ScanKeyword *ScanECPGKeywordLookup(const char *text); -extern void scanner_init(const char *); extern void parser_init(void); -extern void scanner_finish(void); extern int filtered_base_yylex(void); /* return codes */ diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index 16b1c1bb08..f311e2b875 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -32,8 +32,6 @@ extern YYSTYPE base_yylval; static int xcdepth = 0; /* depth of nesting in slash-star comments */ static char *dolqstart = NULL; /* current $foo$ quote start string */ -static YY_BUFFER_STATE scanbufhandle; -static char *scanbuf; /* * literalbuf is used to accumulate literal values when multiple rules @@ -646,7 +644,7 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ /* single quote or dollar sign */ addlitchar(yytext[0]); } -<> { base_yyerror("unterminated dollar-quoted string"); } +<> { mmerror(PARSE_ERROR, ET_ERROR, "unterminated dollar-quoted string"); } { {xdstart} { @@ -1615,44 +1613,3 @@ static bool isinformixdefine(void) return false; } - -/* - * Called before any actual parsing is done - */ -void -scanner_init(const char *str) -{ - Size slen = strlen(str); - - /* - * Might be left over after ereport() - */ - if (YY_CURRENT_BUFFER) - yy_delete_buffer(YY_CURRENT_BUFFER); - - /* - * Make a scan buffer with special termination needed by flex. - */ - scanbuf = mm_alloc(slen + 2); - memcpy(scanbuf, str, slen); - scanbuf[slen] = scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR; - scanbufhandle = yy_scan_buffer(scanbuf, slen + 2); - - /* initialize literal buffer to a reasonable but expansible size */ - literalalloc = 128; - literalbuf = (char *) mm_alloc(literalalloc); - startlit(); - - BEGIN(INITIAL); -} - - -/* - * Called after parsing is done to clean up after scanner_init() - */ -void -scanner_finish(void) -{ - yy_delete_buffer(scanbufhandle); - free(scanbuf); -} -- 2.17.1