]> granicus.if.org Git - php/commitdiff
- MFH: revert irrelevant part.
authorMoriyoshi Koizumi <moriyoshi@php.net>
Mon, 24 Jan 2005 16:47:53 +0000 (16:47 +0000)
committerMoriyoshi Koizumi <moriyoshi@php.net>
Mon, 24 Jan 2005 16:47:53 +0000 (16:47 +0000)
main/rfc1867.c

index 16de12166c2885353dc7aea9f31ec83a14d9c827..d8ebf2d2f590ebc46094aeea2e0dca8045cb68dc 100644 (file)
@@ -31,7 +31,6 @@
 #include "php_globals.h"
 #include "php_variables.h"
 #include "rfc1867.h"
-#include "ext/standard/php_string.h"
 
 #undef DEBUG_FILE_UPLOAD
 
@@ -843,7 +842,7 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
        while (!multipart_buffer_eof(mbuff TSRMLS_CC))
        {
                char buff[FILLUNIT];
-               char *cd=NULL,*param=NULL,*filename=NULL;
+               char *cd=NULL,*param=NULL,*filename=NULL, *tmp=NULL;
                int blen=0, wlen=0;
 
                zend_llist_clean(&header);
@@ -1065,14 +1064,23 @@ SAPI_API SAPI_POST_HANDLER_FUNC(rfc1867_post_handler)
                                        str_len = strlen(filename);
                                        php_mb_gpc_encoding_converter(&filename, &str_len, 1, NULL, NULL TSRMLS_CC);
                                }
+                               s = php_mb_strrchr(filename, '\\' TSRMLS_CC);
+                               if ((tmp = php_mb_strrchr(filename, '/' TSRMLS_CC)) > s) {
+                                       s = tmp;
+                               }
                                num_vars--;
+                       } else {
+                               s = strrchr(filename, '\\');
+                               if ((tmp = strrchr(filename, '/')) > s) {
+                                       s = tmp;
+                               }
+                       }
+#else
+                       s = strrchr(filename, '\\');
+                       if ((tmp = strrchr(filename, '/')) > s) {
+                               s = tmp;
                        }
 #endif
-                       /* ensure that the uploaded file name only contains the path */
-                       s = php_basename(filename, strlen(filename), NULL, 0);
-                       efree(filename);
-                       filename = s;
-
                        if (s && s > filename) {
                                safe_php_register_variable(lbuf, s+1, NULL, 0 TSRMLS_CC);
                        } else {