From 2fabb9938813f4bf52a0a8b8c722e5cd9a58a97f Mon Sep 17 00:00:00 2001 From: Michael Meskes Date: Mon, 17 Jun 2002 13:23:27 +0000 Subject: [PATCH] Fixed parser bug concerning octal numbers in single quotes. --- src/interfaces/ecpg/ChangeLog | 5 +++++ src/interfaces/ecpg/preproc/pgc.l | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index 686114b5ae..67ded6c3fd 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -1265,6 +1265,11 @@ Wed Jun 12 14:04:11 CEST 2002 - Applied Lee Kindness' patch to fix one of memory allocation with floating point numbers. + +Mon Jun 17 15:23:51 CEST 2002 + + - Fixed parser bug in pgc.l. Octal numbers in single quotes are now + correctly handled. - Set ecpg version to 2.10.0. - Set library version to 3.4.0. diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index d8478e3bc3..bb250cb8ec 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.92 2002/05/20 09:29:41 meskes Exp $ + * $Header: /cvsroot/pgsql/src/interfaces/ecpg/preproc/pgc.l,v 1.93 2002/06/17 13:23:27 meskes Exp $ * *------------------------------------------------------------------------- */ @@ -372,13 +372,13 @@ cppline {space}*#(.*\\{space})*.* {xqstop} { BEGIN(state_before); yylval.str = mm_strdup(literalbuf); + printf("MM: %s\n", yylval.str); return SCONST; } {xqdouble} { addlitchar('\''); } {xqinside} { addlit(yytext, yyleng); } {xqescape} { addlit(yytext, yyleng); } -{xqoctesc} { unsigned char c = strtoul(yytext+1, NULL, 8); - addlitchar(c); } +{xqoctesc} { addlit(yytext, yyleng); } {xqcat} { /* ignore */ } <> { mmerror(PARSE_ERROR, ET_ERROR, "Unterminated quoted string"); }