summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2007-08-22 22:40:29 +0000
committerIlia Alshanetsky <iliaa@php.net>2007-08-22 22:40:29 +0000
commitf30f2ef73335ba5de31ad4f27643c369c354db61 (patch)
tree2cbd6a7ea2efad77a4b31c3b8d83348306b9df83
parent8ab99847073dd11a46fec83ac16dfd845b1e40df (diff)
downloadphp-git-f30f2ef73335ba5de31ad4f27643c369c354db61.tar.gz
Fixed bug #42368 (Incorrect error message displayed by pg_escape_string).
-rw-r--r--NEWS4
-rw-r--r--ext/pgsql/pgsql.c38
2 files changed, 31 insertions, 11 deletions
diff --git a/NEWS b/NEWS
index f5bc04ee3d..a094eaeb54 100644
--- a/NEWS
+++ b/NEWS
@@ -1,8 +1,10 @@
PHP NEWS
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?? Aug 2007, PHP 5.2.4
+- Fixed bug #42368 (Incorrect error message displayed by pg_escape_string).
+ (Ilia)
- Fixed bug #42365 (glob() crashes and/or accepts way too many flags). (Jani)
-- Fixed bug #42183 (classmap cause crashr in non-wsdl mode). (Dmitry)
+- Fixed bug #42183 (classmap causes crash in non-wsdl mode). (Dmitry)
- Fixed bug #42009 (is_a() and is_subclass_of() should NOT call autoload,
in the same way as "instanceof" operator). (Dmitry)
- Fixed bug #41904 (proc_open(): empty env array should cause empty
diff --git a/ext/pgsql/pgsql.c b/ext/pgsql/pgsql.c
index eadcc1ce14..508011617a 100644
--- a/ext/pgsql/pgsql.c
+++ b/ext/pgsql/pgsql.c
@@ -3571,11 +3571,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);
@@ -3604,11 +3613,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