com php-src: Refactor build_tablename(): ext/pgsql/pg sql.c
| From: | Yasuo Ohgaki | Date: | Sat, 15 Feb 2014 22:51:27 +0000 |
| Subject: | com php-src: Refactor build_tablename(): ext/pgsql/pg sql.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-76010@lists.php.net to get a copy of this message | ||
Commit: 6f14b5ab4137e6505d595adf24615fc47ece67fd
Author: Yasuo Ohgaki <yohgaki@php.net> Sun, 16 Feb 2014 07:49:07 +0900
Parents: 9f251548ae4875aa7714e81c79668cc231d7de6c
Branches: PHP-5.4 PHP-5.5 PHP-5.6 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=6f14b5ab4137e6505d595adf24615fc47ece67fd
Log:
Refactor build_tablename()
Changed paths:
M ext/pgsql/pgsql.c
Diff:
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index 1f0d630..e6f6a6b 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -1044,26 +1044,6 @@ static int _php_pgsql_detect_identifier_escape(const char *identifier, size_t
le
}
-/* {{{ _php_pgsql_strndup, no strndup should be used */
-static char *_php_pgsql_strndup(const char *s, size_t len)
-{
- char *new;
-
- if (NULL == s) {
- return (char *)NULL;
- }
-
- new = (char *) malloc(len + 1);
-
- if (NULL == new) {
- return (char *)NULL;
- }
-
- new[len] = '\0';
-
- return memmove(new, s, len);
-}
-/* }}} */
/* {{{ PHP_INI
*/
@@ -6129,23 +6109,24 @@ static inline void build_tablename(smart_str *querystr, PGconn *pg_link,
const c
token = php_strtok_r(table_copy, ".", &tmp);
len = strlen(token);
if (_php_pgsql_detect_identifier_escape(token, len) == SUCCESS) {
- escaped = _php_pgsql_strndup(token, len);
+ smart_str_appendl(querystr, token, len);
} else {
escaped = PGSQLescapeIdentifier(pg_link, token, len);
+ smart_str_appends(querystr, escaped);
+ PGSQLfree(escaped);
}
- smart_str_appends(querystr, escaped);
- PGSQLfree(escaped);
if (tmp && *tmp) {
len = strlen(tmp);
/* "schema"."table" format */
if (_php_pgsql_detect_identifier_escape(tmp, len) == SUCCESS) {
- escaped = _php_pgsql_strndup(tmp, len);
+ smart_str_appendc(querystr, '.');
+ smart_str_appendl(querystr, tmp, len);
} else {
escaped = PGSQLescapeIdentifier(pg_link, tmp, len);
+ smart_str_appendc(querystr, '.');
+ smart_str_appends(querystr, escaped);
+ PGSQLfree(escaped);
}
- smart_str_appendc(querystr, '.');
- smart_str_appends(querystr, escaped);
- PGSQLfree(escaped);
}
efree(table_copy);
}