summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meskes <meskes@postgresql.org>2013-07-06 22:08:53 +0200
committerMichael Meskes <meskes@postgresql.org>2013-07-06 22:12:32 +0200
commit6b51f659c051167ae20b33c373451bb69e403ab7 (patch)
tree7046719a1fcb1ec1a813a434608f31309a317027
parentd0d71252395fe6f80d9871cf88e1d192d7db7ab4 (diff)
Also escape double quotes for ECPG's #line statement.
-rw-r--r--src/interfaces/ecpg/preproc/output.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/interfaces/ecpg/preproc/output.c b/src/interfaces/ecpg/preproc/output.c
index 5233c82f432..e42333e7e00 100644
--- a/src/interfaces/ecpg/preproc/output.c
+++ b/src/interfaces/ecpg/preproc/output.c
@@ -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++;
}