summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlia Alshanetsky <iliaa@php.net>2009-01-27 21:59:30 +0000
committerIlia Alshanetsky <iliaa@php.net>2009-01-27 21:59:30 +0000
commit58a6bddf686a02d89e9c7fec9e9428750cf50e92 (patch)
tree3078be78f3864df7f3c7c7eb494bb8e3fda11ebc
parent1c87df548bc5e6cd6ddaf7faf782db50116ee2d2 (diff)
downloadphp-git-58a6bddf686a02d89e9c7fec9e9428750cf50e92.tar.gz
Improved parameter parsing
-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();
}