diff options
author | Bruce Momjian <bruce@momjian.us> | 2005-07-02 17:01:59 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2005-07-02 17:01:59 +0000 |
commit | 74b49a81294b2943179078272bc3413b33d16e6f (patch) | |
tree | 1f610742e7fffbce204c4a95df8163d98bcaba6f /src/interfaces/libpq/fe-exec.c | |
parent | 654efe6aaa65d4bb53a3c888df1143558a1034ad (diff) |
Add E'' to internally created SQL strings that contain backslashes.
Improve code clarity by using macros for E'' processing.
Diffstat (limited to 'src/interfaces/libpq/fe-exec.c')
-rw-r--r-- | src/interfaces/libpq/fe-exec.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/src/interfaces/libpq/fe-exec.c b/src/interfaces/libpq/fe-exec.c index 64ef9cd4282..64b4638b699 100644 --- a/src/interfaces/libpq/fe-exec.c +++ b/src/interfaces/libpq/fe-exec.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.169 2005/06/12 00:00:21 neilc Exp $ + * $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.170 2005/07/02 17:01:54 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -2368,23 +2368,9 @@ PQescapeString(char *to, const char *from, size_t length) while (remaining > 0 && *source != '\0') { - switch (*source) - { - case '\\': - *target++ = '\\'; - *target++ = '\\'; - break; - - case '\'': - *target++ = '\''; - *target++ = '\''; - break; - - default: - *target++ = *source; - break; - } - source++; + if (SQL_STR_DOUBLE(*source)) + *target++ = *source; + *target++ = *source++; remaining--; } @@ -2449,7 +2435,7 @@ PQescapeBytea(const unsigned char *bintext, size_t binlen, size_t *bytealen) } else if (*vp == '\'') { - rp[0] = '\\'; + rp[0] = '\''; rp[1] = '\''; rp += 2; } |