--- sql/pgsql/parser3pgsql.C 2003/07/24 10:09:40 1.13 +++ sql/pgsql/parser3pgsql.C 2003/09/29 06:09:57 1.15 @@ -7,7 +7,7 @@ 2001.07.30 using PgSQL 7.1.2 */ -static const char *RCSId="$Id: parser3pgsql.C,v 1.13 2003/07/24 10:09:40 paf Exp $"; +static const char *RCSId="$Id: parser3pgsql.C,v 1.15 2003/09/29 06:09:57 paf Exp $"; #include "config_includes.h" @@ -183,10 +183,10 @@ public: while(length--) { switch(*from) { case '\'': // "'" -> "''" - *to++='\''; result++; + *to++='\''; break; case '\\': // "\" -> "\\" - *to++='\\'; result++; + *to++='\\'; break; } *to++=*from++; @@ -338,6 +338,7 @@ private: // private funcs o[0]=='/' && o[1]=='*' && o[2]=='*') { // name start + const char* saved_o=o; o+=3; while(*o) if( @@ -345,6 +346,7 @@ private: // private funcs o[1]=='*' && o[2]=='/' && o[3]=='\'') { // name end + saved_o=0; // found, marking that o+=4; Oid oid=lo_creat(conn, INV_READ|INV_WRITE); if(oid==InvalidOid) @@ -376,6 +378,10 @@ private: // private funcs break; } else o++; // /**skip**/'xxx' + if(saved_o) { + o=saved_o; + *n++=*o++; + } } else *n++=*o++; }