From: Ilia Alshanetsky Date: Tue, 27 Jan 2009 21:59:30 +0000 (+0000) Subject: Improved parameter parsing X-Git-Tag: php-5.3.0beta1~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=58a6bddf686a02d89e9c7fec9e9428750cf50e92;p=php Improved parameter parsing --- diff --git a/sapi/apache_hooks/php_apache.c b/sapi/apache_hooks/php_apache.c index d0191d2929..0e31ccf1d5 100644 --- a/sapi/apache_hooks/php_apache.c +++ b/sapi/apache_hooks/php_apache.c @@ -222,7 +222,7 @@ static void apache_request_string_slot(int offset, INTERNAL_FUNCTION_PARAMETERS) { zval *id; request_rec *r; - char *old_value, *new_value; + char *old_value, *new_value = NULL; int new_value_len; char **target; @@ -235,19 +235,13 @@ static void apache_request_string_slot(int offset, INTERNAL_FUNCTION_PARAMETERS) target = (char **)((char*)r + offset); old_value = *target; - switch (ZEND_NUM_ARGS()) { - case 0: - break; - case 1: - *target = ap_pstrdup(r->pool, new_value); - break; - default: - WRONG_PARAM_COUNT; - break; + if (new_value) { + *target = ap_pstrdup(r->pool, new_value); } - if (old_value) + if (old_value) { RETURN_STRING(old_value, 1); + } RETURN_EMPTY_STRING(); }