Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Also escape double quotes for ECPG's #line statement.
authorMichael Meskes <meskes@postgresql.org>
Sat, 6 Jul 2013 20:08:53 +0000 (22:08 +0200)
committerMichael Meskes <meskes@postgresql.org>
Sat, 6 Jul 2013 20:12:52 +0000 (22:12 +0200)
src/interfaces/ecpg/preproc/output.c

index 6aacee529232b9abc14e0e2bcb7f1d20d2a8d626..0dd5aafdde3c53c82a42fcf9abdac513262b5b1e 100644 (file)
@@ -95,7 +95,7 @@ hashline_number(void)
 #endif
        )
    {
-       /* "* 2" here is for escaping \s below */
+       /* "* 2" here is for escaping '\' and '"' below */
        char       *line = mm_alloc(strlen("\n#line %d \"%s\"\n") + sizeof(int) * CHAR_BIT * 10 / 3 + strlen(input_filename) * 2);
        char       *src,
                   *dest;
@@ -105,7 +105,7 @@ hashline_number(void)
        dest = line + strlen(line);
        while (*src)
        {
-           if (*src == '\\')
+           if (*src == '\\' || *src == '"')
                *dest++ = '\\';
            *dest++ = *src++;
        }