diff --git a/src/interfaces/ecpg/ChangeLog b/src/interfaces/ecpg/ChangeLog index bbe1cf517cbbf693be0d02c24cd0a84925ab8387..a08db67ff6bdd9925b89163f6c619cbdf4d37c88 100644 --- a/src/interfaces/ecpg/ChangeLog +++ b/src/interfaces/ecpg/ChangeLog @@ -559,6 +559,10 @@ Mon Apr 12 17:56:14 CEST 1999 Wed Apr 14 17:59:06 CEST 1999 - Added simple calculations for array bounds. + +Fri Apr 16 18:25:18 CEST 1999 + + - Fixed small bug in ECPGfinish(). - Set library version to 3.0.0 - Set ecpg version to 2.6.0 diff --git a/src/interfaces/ecpg/lib/ecpglib.c b/src/interfaces/ecpg/lib/ecpglib.c index 9fea350eb7115272ec97e5bd66f20809c16e6b19..5314a0a90d3c3f087293ba72bf1f753704bfb941 100644 --- a/src/interfaces/ecpg/lib/ecpglib.c +++ b/src/interfaces/ecpg/lib/ecpglib.c @@ -149,26 +149,21 @@ ECPGfinish(struct connection * act) PQfinish(act->connection); /* remove act from the list */ if (act == all_connections) - { all_connections = act->next; - free(act->name); - free(act); - } else { struct connection *con; for (con = all_connections; con->next && con->next != act; con = con->next); if (con->next) - { con->next = act->next; - free(act->name); - free(act); - } } if (actual_connection == act) actual_connection = all_connections; + + free(act->name); + free(act); } else ECPGlog("ECPGfinish: called an extra time.\n"); diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index b9d5bdd79e92bf46b0baadf2cc4063ed6604624f..aa7b185265280fe678a0b8f3fe118b7eb4d5c064 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -533,6 +533,12 @@ cppline {space}*#.*(\\{space}*\n)*\n* <C>";" { return(';'); } <C>"," { return(','); } <C>"*" { return('*'); } +<C>"%" { return('%'); } +<C>"/" { return('/'); } +<C>"+" { return('+'); } +<C>"-" { return('-'); } +<C>"(" { return('('); } +<C>")" { return(')'); } <C>{space} { ECHO; } <C>\{ { return('{'); } <C>\} { return('}'); } diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index bb5faeb75ecbbc5f5dddc16609356a9e7842d48c..c46d68383cd196499861583774be5a501eb2b0d1 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -3218,12 +3218,12 @@ nest_array_bounds: '[' ']' nest_array_bounds Iresult: Iconst { $$ = atol($1); } | '(' Iresult ')' { $$ = $2; } - | Iresult '+' Iresult { $$ = $1 + $3}; - | Iresult '-' Iresult { $$ = $1 - $3}; - | Iresult '*' Iresult { $$ = $1 * $3}; - | Iresult '/' Iresult { $$ = $1 / $3}; - | Iresult '%' Iresult { $$ = $1 % $3}; - + | Iresult '+' Iresult { $$ = $1 + $3; } + | Iresult '-' Iresult { $$ = $1 - $3; } + | Iresult '*' Iresult { $$ = $1 * $3; } + | Iresult '/' Iresult { $$ = $1 / $3; } + | Iresult '%' Iresult { $$ = $1 % $3; } + ; /***************************************************************************** diff --git a/src/interfaces/ecpg/test/test2.pgc b/src/interfaces/ecpg/test/test2.pgc index 954498d01273dcbaf41db4df75f51f65b7b5f7c7..360dee3b34f6d3d904d4f0ca0da96ac217805fc1 100644 --- a/src/interfaces/ecpg/test/test2.pgc +++ b/src/interfaces/ecpg/test/test2.pgc @@ -40,7 +40,7 @@ exec sql end declare section; ECPGdebug(1, dbgs); strcpy(msg, "connect"); - exec sql connect to unix:postgresql://localhost:5432/mm; + exec sql connect to unix:postgresql://localhost:5432/mm; strcpy(msg, "create"); exec sql create table meskes(name char(8), born integer, age smallint, married date, children integer);