summaryrefslogtreecommitdiff
path: root/sapi/apache_hooks/php_apache.c
diff options
context:
space:
mode:
Diffstat (limited to 'sapi/apache_hooks/php_apache.c')
-rw-r--r--sapi/apache_hooks/php_apache.c16
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();
}