diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2007-08-21 23:51:34 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2007-08-21 23:51:34 +0000 |
commit | 08f9a66c980c9182f84c415199a2ca8648a9efb9 (patch) | |
tree | e80348fb5ba9c34eeaec226d98f489243c5a08c9 | |
parent | 3f3c0d74e159ac63b17891e0f6880a04eaa42412 (diff) | |
download | php-git-08f9a66c980c9182f84c415199a2ca8648a9efb9.tar.gz |
Fixed bug #42368 (Incorrect error message displayed by pg_escape_string)
-rw-r--r-- | ext/pgsql/pgsql.c | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c index 7cee5d17e7..5c7129bde7 100644 --- a/ext/pgsql/pgsql.c +++ b/ext/pgsql/pgsql.c @@ -3545,11 +3545,20 @@ PHP_FUNCTION(pg_escape_string) int from_len; int id = -1; - if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &from, &from_len) == SUCCESS) { - pgsql_link = NULL; - id = PGG(default_link); - } else if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pgsql_link, &from, &from_len) == FAILURE) { - return; + switch (ZEND_NUM_ARGS()) { + case 1: + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &from, &from_len) == FAILURE) { + return; + } + pgsql_link = NULL; + id = PGG(default_link); + break; + + default: + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pgsql_link, &from, &from_len) == FAILURE) { + return; + } + break; } to = (char *) safe_emalloc(from_len, 2, 1); @@ -3578,11 +3587,20 @@ PHP_FUNCTION(pg_escape_bytea) #endif zval *pgsql_link; - if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() TSRMLS_CC, "s", &from, &from_len) == SUCCESS) { - pgsql_link = NULL; - id = PGG(default_link); - } else if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pgsql_link, &from, &from_len) == FAILURE) { - return; + switch (ZEND_NUM_ARGS()) { + case 1: + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &from, &from_len) == FAILURE) { + return; + } + pgsql_link = NULL; + id = PGG(default_link); + break; + + default: + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rs", &pgsql_link, &from, &from_len) == FAILURE) { + return; + } + break; } #ifdef HAVE_PQESCAPE_BYTEA_CONN |