diff options
author | Ilia Alshanetsky <iliaa@php.net> | 2009-01-27 21:59:30 +0000 |
---|---|---|
committer | Ilia Alshanetsky <iliaa@php.net> | 2009-01-27 21:59:30 +0000 |
commit | 58a6bddf686a02d89e9c7fec9e9428750cf50e92 (patch) | |
tree | 3078be78f3864df7f3c7c7eb494bb8e3fda11ebc | |
parent | 1c87df548bc5e6cd6ddaf7faf782db50116ee2d2 (diff) | |
download | php-git-58a6bddf686a02d89e9c7fec9e9428750cf50e92.tar.gz |
Improved parameter parsing
-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(); } |