Clarify code to double \\ and '.

This commit is contained in:
Bruce Momjian 2005-07-01 17:40:29 +00:00
parent f009248af1
commit 2f7d369a5c
4 changed files with 9 additions and 11 deletions

View File

@ -42,7 +42,7 @@
* Portions Copyright (c) 1994, Regents of the University of California * Portions Copyright (c) 1994, Regents of the University of California
* Portions taken from FreeBSD. * Portions taken from FreeBSD.
* *
* $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.88 2005/06/28 15:38:12 tgl Exp $ * $PostgreSQL: pgsql/src/bin/initdb/initdb.c,v 1.89 2005/07/01 17:40:28 momjian Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -1986,10 +1986,8 @@ escape_quotes(const char *src)
for (i = 0, j = 0; i < len; i++) for (i = 0, j = 0; i < len; i++)
{ {
if (src[i] == '\\') if (src[i] == '\\' || src[i] == '\'')
result[j++] = '\\'; result[j++] = src[i]; /* double these */
if (src[i] == '\'') /* ANSI standard, '' */
result[j++] = '\'';
result[j++] = src[i]; result[j++] = src[i];
} }
result[j] = '\0'; result[j] = '\0';

View File

@ -3,7 +3,7 @@
* *
* Copyright (c) 2000-2005, PostgreSQL Global Development Group * Copyright (c) 2000-2005, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.118 2005/06/26 03:03:56 momjian Exp $ * $PostgreSQL: pgsql/src/bin/psql/describe.c,v 1.119 2005/07/01 17:40:28 momjian Exp $
*/ */
#include "postgres_fe.h" #include "postgres_fe.h"
#include "describe.h" #include "describe.h"
@ -1899,7 +1899,7 @@ processNamePattern(PQExpBuffer buf, const char *pattern,
/* Ensure chars special to string literals are passed properly */ /* Ensure chars special to string literals are passed properly */
if (*cp == '\'' || *cp == '\\') if (*cp == '\'' || *cp == '\\')
appendPQExpBufferChar(&namebuf, *cp); appendPQExpBufferChar(&namebuf, *cp); /* double these */
i = PQmblen(cp, pset.encoding); i = PQmblen(cp, pset.encoding);
while (i--) while (i--)

View File

@ -3,7 +3,7 @@
* *
* Copyright (c) 2000-2005, PostgreSQL Global Development Group * Copyright (c) 2000-2005, PostgreSQL Global Development Group
* *
* $PostgreSQL: pgsql/src/bin/psql/large_obj.c,v 1.37 2005/06/14 02:57:41 momjian Exp $ * $PostgreSQL: pgsql/src/bin/psql/large_obj.c,v 1.38 2005/07/01 17:40:28 momjian Exp $
*/ */
#include "postgres_fe.h" #include "postgres_fe.h"
#include "large_obj.h" #include "large_obj.h"
@ -178,7 +178,7 @@ do_lo_import(const char *filename_arg, const char *comment_arg)
for (i = 0; i < slen; i++) for (i = 0; i < slen; i++)
{ {
if (comment_arg[i] == '\'' || comment_arg[i] == '\\') if (comment_arg[i] == '\'' || comment_arg[i] == '\\')
*bufptr++ = '\\'; *bufptr++ = comment_arg[i]; /* double these */
*bufptr++ = comment_arg[i]; *bufptr++ = comment_arg[i];
} }
strcpy(bufptr, "'"); strcpy(bufptr, "'");

View File

@ -4,7 +4,7 @@
* procedural language * procedural language
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.77 2005/06/22 01:35:02 neilc Exp $ * $PostgreSQL: pgsql/src/pl/plpgsql/src/gram.y,v 1.78 2005/07/01 17:40:29 momjian Exp $
* *
* This software is copyrighted by Jan Wieck - Hamburg. * This software is copyrighted by Jan Wieck - Hamburg.
* *
@ -387,7 +387,7 @@ decl_statement : decl_varname decl_const decl_datatype decl_notnull decl_defval
while (*cp1 != '\0') while (*cp1 != '\0')
{ {
if (*cp1 == '\\' || *cp1 == '\'') if (*cp1 == '\\' || *cp1 == '\'')
*cp2++ = '\\'; *cp2++ = *cp1; /* double these */
*cp2++ = *cp1++; *cp2++ = *cp1++;
} }
strcpy(cp2, "'::refcursor"); strcpy(cp2, "'::refcursor");