diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog
index 686114b5ae2694494976d565f3e67e738e1f1629..67ded6c3fd928251406298c4f168ad6c69c8e136 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 d8478e3bc3b16e5981b1819180fb794da6f2758d..bb250cb8ec0217537df965a7a1dbf70596bfa582 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})*.*
 <xq>{xqstop}		{
 						BEGIN(state_before);
 						yylval.str = mm_strdup(literalbuf);
+						printf("MM: %s\n", yylval.str);
 						return SCONST;
 					}
 <xq>{xqdouble}		{ addlitchar('\''); }
 <xq>{xqinside}		{ addlit(yytext, yyleng); }
 <xq>{xqescape}  	{ addlit(yytext, yyleng); }
-<xq>{xqoctesc}		{ unsigned char c = strtoul(yytext+1, NULL, 8);
-                          addlitchar(c); }
+<xq>{xqoctesc}          { addlit(yytext, yyleng); }
 <xq>{xqcat}			{ /* ignore */ }
 
 <xq><<EOF>>			{ mmerror(PARSE_ERROR, ET_ERROR, "Unterminated quoted string"); }