cvs: /php4 SAPI.c /php4/ext/standard post.c

From: Date: Wed, 06 Oct 1999 05:26:56 +0000
Subject: cvs: /php4 SAPI.c /php4/ext/standard post.c
Groups: php.version4 
Request: Send a blank email to php-version4+get-5218@lists.php.net to get a copy of this message
steinm Wed Oct 6 01:26:56 1999 EDT Modified files: /php4 SAPI.c /php4/ext/standard post.c Log: - support for mimetype application/vnd.fdf needed by fdf module (only active if fdf support is compiled in) Index: php4/SAPI.c diff -u php4/SAPI.c:1.33 php4/SAPI.c:1.34 --- php4/SAPI.c:1.33 Tue Oct 5 08:06:35 1999 +++ php4/SAPI.c Wed Oct 6 01:26:25 1999 @@ -41,6 +41,9 @@ static sapi_post_content_type_reader supported_post_content_types[] = { { DEFAULT_POST_CONTENT_TYPE, sizeof(DEFAULT_POST_CONTENT_TYPE)-1, sapi_read_standard_form_data }, +#if HAVE_FDFLIB + { "application/vnd.fdf", sizeof("application/vnd.fdf")-1, sapi_read_standard_form_data }, +#endif { NULL, 0, NULL } }; @@ -67,7 +70,7 @@ sapi_module = *sf; zend_hash_init(&known_post_content_types, 5, NULL, NULL, 1); - sapi_register_post_reader(supported_post_content_types); + sapi_register_post_readers(supported_post_content_types); #ifdef ZTS sapi_globals_id = ts_allocate_id(sizeof(sapi_globals_struct), NULL, NULL); Index: php4/ext/standard/post.c diff -u php4/ext/standard/post.c:1.24 php4/ext/standard/post.c:1.25 --- php4/ext/standard/post.c:1.24 Sun Sep 12 20:35:03 1999 +++ php4/ext/standard/post.c Wed Oct 6 01:26:25 1999 @@ -360,32 +360,48 @@ if (!res) { return; } - - if (arg == PARSE_COOKIE) { - var = strtok(res, ";"); - } else if (arg == PARSE_POST) { - var = strtok(res, "&"); - } else { - var = strtok(res, PG(arg_separator)); - } - while (var) { - val = strchr(var, '='); - if (val) { /* have a value */ - *val++ = '\0'; - /* FIXME: XXX: not binary safe, discards returned length */ - _php3_urldecode(var, strlen(var)); - _php3_urldecode(val, strlen(val)); - php_parse_gpc_data2(val,var,array_ptr ELS_CC PLS_CC); - } +#if HAVE_FDFLIB + if((NULL != SG(request_info).content_type) && (0 == strcmp(SG(request_info).content_type, "application/vnd.fdf"))) { + pval *tmp; + + tmp = (pval *) emalloc(sizeof(pval)); + tmp->value.str.len = SG(request_info).post_data_length; + tmp->value.str.val = estrndup(SG(request_info).post_data, SG(request_info).post_data_length); + tmp->type = IS_STRING; + INIT_PZVAL(tmp); + zend_hash_add(&EG(symbol_table), "HTTP_FDF_DATA", sizeof("HTTP_FDF_DATA"), &tmp, sizeof(pval *),NULL); + + } else { +#endif if (arg == PARSE_COOKIE) { - var = strtok(NULL, ";"); + var = strtok(res, ";"); } else if (arg == PARSE_POST) { - var = strtok(NULL, "&"); + var = strtok(res, "&"); } else { - var = strtok(NULL, PG(arg_separator)); + var = strtok(res, PG(arg_separator)); + } + + while (var) { + val = strchr(var, '='); + if (val) { /* have a value */ + *val++ = '\0'; + /* FIXME: XXX: not binary safe, discards returned length */ + _php3_urldecode(var, strlen(var)); + _php3_urldecode(val, strlen(val)); + php_parse_gpc_data2(val,var,array_ptr ELS_CC PLS_CC); + } + if (arg == PARSE_COOKIE) { + var = strtok(NULL, ";"); + } else if (arg == PARSE_POST) { + var = strtok(NULL, "&"); + } else { + var = strtok(NULL, PG(arg_separator)); + } } +#if HAVE_FDFLIB } +#endif if (free_buffer) { efree(res); }

« previous php.version4 (#5218) next »