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:32 +0000 (22:12 +0200)
src/interfaces/ecpg/preproc/output.c

index 5233c82f4329ffb908bf8e961765b6416c7f230b..e42333e7e00cf791ec95dbe48906e998c557a493 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++;
        }