cvs: /php4 SAPI.c /php4/ext/standard post.c
| From: | Uwe Steinmann | 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);
}