diff options
Diffstat (limited to 'sapi/apache_hooks/php_apache.c')
-rw-r--r-- | sapi/apache_hooks/php_apache.c | 16 |
1 files changed, 5 insertions, 11 deletions
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(); } |