--- /tmp/dbd-pg/DBD-Pg-0.95/dbdimp.c    Mon Jul 10 10:47:51 2000
+++ ./dbdimp.c  Fri Feb 23 15:17:37 2001
@@ -634,9 +634,22 @@

        if (in_literal) {
            /* check if literal ends but keep quotes in literal */
+           if (dbis->debug) {
+               fprintf(DBILOGFP, "*src = %c, in_literal = %c, *(src+1) = %c\n", *src, in_literal, *(src+1));
+           }
+#if 1
+           if (*src == in_literal) {
+               if (*(src+1) == in_literal) {
+                   *dest++ = *src++;
+               } else {
+                   in_literal = 0;
+               }
+           }
+#else
            if (*src == in_literal && *(src-1) != '\\') {
                in_literal = 0;
-            }
+           }
+#endif
            *dest++ = *src++;
            continue;
        }
@@ -1022,9 +1035,21 @@

            if (in_literal) {
                /* check if literal ends but keep quotes in literal */
+               if (dbis->debug) {
+                       fprintf(DBILOGFP, "*src = %c, in_literal = %c, *(src+1) = %c\n", *src, in_literal, *(src+1));
+               }
+               if (*src == in_literal) {
+                   if (*(src+1) == in_literal) {
+                       *dest++ = *src++;
+                   } else {
+                       in_literal = 0;
+                   }
+               }
+#if 0
                if (*src == in_literal && *(src-1) != '\\') {
                    in_literal = 0;
-                }
+               }
+#endif
                *dest++ = *src++;
                continue;
            }
