]> granicus.if.org Git - php/commitdiff
MFB: Improved parameter handling
authorIlia Alshanetsky <iliaa@php.net>
Mon, 5 Jan 2009 16:24:26 +0000 (16:24 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Mon, 5 Jan 2009 16:24:26 +0000 (16:24 +0000)
sapi/apache/php_apache.c
sapi/apache2filter/php_functions.c
sapi/apache2handler/php_functions.c
sapi/apache_hooks/php_apache.c

index aa7b45f2ad932857176bf02b664591a2fd6d5edf..8438ceb2a3b66cd4a2a025133355cc6a8a1f9d66 100644 (file)
@@ -312,18 +312,17 @@ PHP_FUNCTION(apache_child_terminate)
    Get and set Apache request notes */
 PHP_FUNCTION(apache_note)
 {
-       char *note_name, *note_val;
+       char *note_name, *note_val = NULL;
        int note_name_len, note_val_len;
        char *old_val;
-       int arg_count = ZEND_NUM_ARGS();
 
-       if (zend_parse_parameters(arg_count TSRMLS_CC, "s|s", &note_name, &note_name_len, &note_val, &note_val_len) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &note_name, &note_name_len, &note_val, &note_val_len) == FAILURE) {
                return;
        }
 
        old_val = (char *) table_get(((request_rec *)SG(server_context))->notes, note_name);
 
-       if (arg_count == 2) {
+       if (note_val) {
                table_set(((request_rec *)SG(server_context))->notes, note_name, note_val);
        }
 
index 85f477f8719c15d6e19d05c8b08a68a4e8c3a674..289f386c1408d93234a6a2b4c105282030ac1c31 100644 (file)
@@ -193,12 +193,11 @@ PHP_FUNCTION(apache_response_headers)
 PHP_FUNCTION(apache_note)
 {
        php_struct *ctx;
-       char *note_name, *note_val;
+       char *note_name, *note_val = NULL;
        int note_name_len, note_val_len;
        char *old_note_val=NULL;
-       int arg_count = ZEND_NUM_ARGS();
 
-       if (zend_parse_parameters(arg_count TSRMLS_CC, "s|s", &note_name, &note_name_len, &note_val, &note_val_len) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &note_name, &note_name_len, &note_val, &note_val_len) == FAILURE) {
                return;
        }
 
@@ -206,7 +205,7 @@ PHP_FUNCTION(apache_note)
 
        old_note_val = (char *) apr_table_get(ctx->r->notes, note_name);
 
-       if (arg_count == 2) {
+       if (note_val) {
                apr_table_set(ctx->r->notes, note_name, note_val);
        }
 
index 598b2ce567bf359e25d842d547b0e1aff5c62cdd..45f7ac348dcc700522b4dc9275c7d4fde157848f 100644 (file)
@@ -221,12 +221,11 @@ PHP_FUNCTION(apache_response_headers)
 PHP_FUNCTION(apache_note)
 {
        php_struct *ctx;
-       char *note_name, *note_val;
+       char *note_name, *note_val = NULL;
        int note_name_len, note_val_len;
        char *old_note_val=NULL;
-       int arg_count = ZEND_NUM_ARGS();
 
-       if (zend_parse_parameters(arg_count TSRMLS_CC, "s|s", &note_name, &note_name_len, &note_val, &note_val_len) == FAILURE) {
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &note_name, &note_name_len, &note_val, &note_val_len) == FAILURE) {
                return;
        }
 
@@ -234,7 +233,7 @@ PHP_FUNCTION(apache_note)
 
        old_note_val = (char *) apr_table_get(ctx->r->notes, note_name);
 
-       if (arg_count == 2) {
+       if (note_val) {
                apr_table_set(ctx->r->notes, note_name, note_val);
        }
 
index 5cdd31ef05aa97d5d2e88c7a089b577b8af4978f..d0191d2929e85614d8da2bc20dfbce3e8266d43e 100644 (file)
@@ -1551,18 +1551,17 @@ PHP_FUNCTION(apache_child_terminate)
    Get and set Apache request notes */
 PHP_FUNCTION(apache_note)
 {
-       char *arg_name, *arg_val;
+       char *arg_name, *arg_val = NULL;
        int arg_name_len, arg_val_len;
        char *note_val;
-       int arg_count = ZEND_NUM_ARGS();
 
        if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|s", &arg_name, &arg_name_len, &arg_val, &arg_val_len) == FAILURE) {
                return;
        }
 
        note_val = (char *) table_get(((request_rec *)SG(server_context))->notes, arg_name);
-       
-       if (arg_count == 2) {
+
+       if (arg_val) {
                table_set(((request_rec *)SG(server_context))->notes, arg_name, arg_val);
        }