Fix unsafe loop test, and declare as_ident as bool rather than int.

This commit is contained in:
Robert Haas 2010-01-21 18:43:25 +00:00
parent d66679672f
commit b13da41eba

View File

@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.207 2010/01/21 14:58:53 rhaas Exp $ * $PostgreSQL: pgsql/src/interfaces/libpq/fe-exec.c,v 1.208 2010/01/21 18:43:25 rhaas Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
@ -3066,7 +3066,7 @@ PQescapeString(char *to, const char *from, size_t length)
* of memory condition, we return NULL, storing an error message into conn. * of memory condition, we return NULL, storing an error message into conn.
*/ */
static char * static char *
PQescapeInternal(PGconn *conn, const char *str, size_t len, int as_ident) PQescapeInternal(PGconn *conn, const char *str, size_t len, bool as_ident)
{ {
const char *s; const char *s;
char *result; char *result;
@ -3082,7 +3082,7 @@ PQescapeInternal(PGconn *conn, const char *str, size_t len, int as_ident)
return NULL; return NULL;
/* Scan the string for characters that must be escaped. */ /* Scan the string for characters that must be escaped. */
for (s = str; *s != '\0' && (s - str) < len; ++s) for (s = str; (s - str) < len && *s != '\0'; ++s)
{ {
if (*s == quote_char) if (*s == quote_char)
++num_quotes; ++num_quotes;
@ -3188,13 +3188,13 @@ PQescapeInternal(PGconn *conn, const char *str, size_t len, int as_ident)
char * char *
PQescapeLiteral(PGconn *conn, const char *str, size_t len) PQescapeLiteral(PGconn *conn, const char *str, size_t len)
{ {
return PQescapeInternal(conn, str, len, 0); return PQescapeInternal(conn, str, len, false);
} }
char * char *
PQescapeIdentifier(PGconn *conn, const char *str, size_t len) PQescapeIdentifier(PGconn *conn, const char *str, size_t len)
{ {
return PQescapeInternal(conn, str, len, 1); return PQescapeInternal(conn, str, len, true);
} }
/* HEX encoding support for bytea */ /* HEX encoding support for bytea */