'::' is no longer interpreted as a variable in a prepare statement.
authorMichael Meskes <[email protected]>
Tue, 5 Oct 2004 10:48:45 +0000 (10:48 +0000)
committerMichael Meskes <[email protected]>
Tue, 5 Oct 2004 10:48:45 +0000 (10:48 +0000)
src/interfaces/ecpg/ecpglib/prepare.c

index e743d5d223486f98d4a74fcd5c8ff2d22fb76fb0..be68f01c589d5cce97dbd5b132b374151a068cbb 100644 (file)
@@ -46,9 +46,14 @@ replace_variables(char *text)
 
                if (!string && *ptr == ':')
                {
-                       *ptr = '?';
-                       for (++ptr; *ptr && isvarchar(*ptr); ptr++)
-                               *ptr = ' ';
+                       if (ptr[1]==':')
+                               ptr+=2; /* skip  '::' */
+                       else
+                       {
+                               *ptr = '?';
+                               for (++ptr; *ptr && isvarchar(*ptr); ptr++)
+                                       *ptr = ' ';
+                       }
                }
        }
 }