shane           Sun Oct 19 16:57:21 2003 EDT

  Modified files:              
    /php-src/main/streams       plain_wrapper.c 
  Log:
  revert file: support in preparation for simpler patch
  
  
Index: php-src/main/streams/plain_wrapper.c
diff -u php-src/main/streams/plain_wrapper.c:1.24 
php-src/main/streams/plain_wrapper.c:1.25
--- php-src/main/streams/plain_wrapper.c:1.24   Sun Oct 19 16:04:33 2003
+++ php-src/main/streams/plain_wrapper.c        Sun Oct 19 16:57:20 2003
@@ -16,13 +16,12 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: plain_wrapper.c,v 1.24 2003/10/19 20:04:33 shane Exp $ */
+/* $Id: plain_wrapper.c,v 1.25 2003/10/19 20:57:20 shane Exp $ */
 
 #include "php.h"
 #include "php_globals.h"
 #include "php_network.h"
 #include "php_open_temporary_file.h"
-#include "ext/standard/url.h"
 #include "ext/standard/file.h"
 #include "ext/standard/flock_compat.h"
 #include <stddef.h>
@@ -87,18 +86,13 @@
 PHPAPI php_stream *_php_stream_fopen(const char *filename, const char *mode, char 
**opened_path, int options STREAMS_DC TSRMLS_DC)
 {
        char *realpath = NULL;
-       php_url *url = NULL;
        struct stat st;
        int open_flags;
        int fd;
-       php_stream *ret = NULL;
+       php_stream *ret;
        int persistent = options & STREAM_OPEN_PERSISTENT;
        char *persistent_id = NULL;
 
-       if(!filename) {
-               return NULL;
-       }
-
        if (FAILURE == php_stream_parse_fopen_modes(mode, &open_flags)) {
                if (options & REPORT_ERRORS) {
                        php_error_docref(NULL TSRMLS_CC, E_WARNING, "`%s' is not a 
valid mode for fopen", mode);
@@ -106,13 +100,8 @@
                return NULL;
        }
        
-       if (!strncasecmp(filename, "file", 4)) {
-               url = php_url_parse((char *)filename);
-               filename = url->path;
-       }
-
        if ((realpath = expand_filepath(filename, NULL TSRMLS_CC)) == NULL) {
-               goto stream_fopen_done;
+               return NULL;
        }
 
        if (persistent) {
@@ -123,10 +112,14 @@
                                        *opened_path = realpath;
                                        realpath = NULL;
                                }
+                               if (realpath) {
+                                       efree(realpath);
+                               }
                                /* fall through */
 
                        case PHP_STREAM_PERSISTENT_FAILURE:
-                               goto stream_fopen_done;
+                               efree(persistent_id);;
+                               return ret;
                }
        }
        
@@ -150,22 +143,22 @@
                                *opened_path = realpath;
                                realpath = NULL;
                        }
-                       goto stream_fopen_done;
+                       if (realpath) {
+                               efree(realpath);
+                       }
+                       if (persistent_id) {
+                               efree(persistent_id);
+                       }
+                       return ret;
                }
 err:
                close(fd);
        }
-stream_fopen_done:
-       if (realpath) {
-               efree(realpath);
-       }
-       if (url) {
-               efree(url);
-       }
+       efree(realpath);
        if (persistent_id) {
                efree(persistent_id);
        }
-       return ret;
+       return NULL;
 }
 /* }}} */
 
@@ -966,7 +959,6 @@
 {
        /* code ripped off from fopen_wrappers.c */
        char *pathbuf, *ptr, *end;
-       php_url *url = NULL;
        char *exec_fname;
        char trypath[MAXPATHLEN];
        struct stat sb;
@@ -983,11 +975,6 @@
                return NULL;
        }
 
-       if (!strncasecmp(filename, "file", 4)) {
-               url = php_url_parse((char *)filename);
-               filename = url->path;
-       }
-
        filename_length = strlen(filename);
 
        /* Relative path open */
@@ -1003,16 +990,13 @@
 
 
                if (((options & STREAM_DISABLE_OPEN_BASEDIR) == 0) && 
php_check_open_basedir(filename TSRMLS_CC)) {
-                       stream = NULL;
-                       goto stream_done;
+                       return NULL;
                }
 
                if (PG(safe_mode) && (!php_checkuid(filename, mode, 
CHECKUID_CHECK_MODE_PARAM))) {
-                       stream = NULL;
-                       goto stream_done;
+                       return NULL;
                }
-               stream = php_stream_fopen_rel(filename, mode, opened_path, options);
-               goto stream_done;
+               return php_stream_fopen_rel(filename, mode, opened_path, options);
        }
 
        /*
@@ -1026,23 +1010,17 @@
        if (IS_ABSOLUTE_PATH(filename, filename_length)) {
 
                if (((options & STREAM_DISABLE_OPEN_BASEDIR) == 0) && 
php_check_open_basedir(filename TSRMLS_CC)) {
-                       stream = NULL;
-                       goto stream_done;
+                       return NULL;
                }
 
-               if ((php_check_safe_mode_include_dir(filename TSRMLS_CC)) == 0) {
+               if ((php_check_safe_mode_include_dir(filename TSRMLS_CC)) == 0)
                        /* filename is in safe_mode_include_dir (or subdir) */
-                       stream = php_stream_fopen_rel(filename, mode, opened_path, 
options);
-                       goto stream_done;
-               }
+                       return php_stream_fopen_rel(filename, mode, opened_path, 
options);
 
-               if (PG(safe_mode) && (!php_checkuid(filename, mode, 
CHECKUID_CHECK_MODE_PARAM))) {
-                       stream = NULL;
-                       goto stream_done;
-               }
+               if (PG(safe_mode) && (!php_checkuid(filename, mode, 
CHECKUID_CHECK_MODE_PARAM)))
+                       return NULL;
 
-               stream = php_stream_fopen_rel(filename, mode, opened_path, options);
-               goto stream_done;
+               return php_stream_fopen_rel(filename, mode, opened_path, options);
        }
        
 #ifdef PHP_WIN32
@@ -1058,36 +1036,29 @@
                free(cwd);
                
                if (((options & STREAM_DISABLE_OPEN_BASEDIR) == 0) && 
php_check_open_basedir(trypath TSRMLS_CC)) {
-                       stream = NULL;
-                       goto stream_done;
+                       return NULL;
                }
                if ((php_check_safe_mode_include_dir(trypath TSRMLS_CC)) == 0) {
-                       stream = php_stream_fopen_rel(trypath, mode, opened_path, 
options);
-                       goto stream_done;
+                       return php_stream_fopen_rel(trypath, mode, opened_path, 
options);
                }       
                if (PG(safe_mode) && (!php_checkuid(trypath, mode, 
CHECKUID_CHECK_MODE_PARAM))) {
-                       stream = NULL;
-                       goto stream_done;
+                       return NULL;
                }
                
-               stream = php_stream_fopen_rel(trypath, mode, opened_path, options);
-               goto stream_done;
+               return php_stream_fopen_rel(trypath, mode, opened_path, options);
        }
 #endif
 
        if (!path || (path && !*path)) {
 
                if (((options & STREAM_DISABLE_OPEN_BASEDIR) == 0) && 
php_check_open_basedir(path TSRMLS_CC)) {
-                       stream = NULL;
-                       goto stream_done;
+                       return NULL;
                }
 
                if (PG(safe_mode) && (!php_checkuid(filename, mode, 
CHECKUID_CHECK_MODE_PARAM))) {
-                       stream = NULL;
-                       goto stream_done;
+                       return NULL;
                }
-               stream = php_stream_fopen_rel(filename, mode, opened_path, options);
-               goto stream_done;
+               return php_stream_fopen_rel(filename, mode, opened_path, options);
        }
 
        /* check in provided path */
@@ -1146,18 +1117,12 @@
                stream = php_stream_fopen_rel(trypath, mode, opened_path, options);
                if (stream) {
 stream_done:
-                       if (url) {
-                               efree(url);
-                       }
                        efree(pathbuf);
                        return stream;
                }
                ptr = end;
        } /* end provided path */
 
-       if (url) {
-               efree(url);
-       }
        efree(pathbuf);
        return NULL;
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to