derick          Mon Nov  3 09:12:47 2003 EDT

  Modified files:              
    /php-src/ext/standard       streamsfuncs.c 
    /php-src/main       php.h php_streams.h 
    /php-src/main/streams       streams.c 
  Log:
  - Always store the URI path in the streams structure, and expose it with
    stream_get_meta_data().
  
  
Index: php-src/ext/standard/streamsfuncs.c
diff -u php-src/ext/standard/streamsfuncs.c:1.26 
php-src/ext/standard/streamsfuncs.c:1.27
--- php-src/ext/standard/streamsfuncs.c:1.26    Wed Oct  8 06:07:25 2003
+++ php-src/ext/standard/streamsfuncs.c Mon Nov  3 09:12:44 2003
@@ -17,7 +17,7 @@
   +----------------------------------------------------------------------+
 */
 
-/* $Id: streamsfuncs.c,v 1.26 2003/10/08 10:07:25 wez Exp $ */
+/* $Id: streamsfuncs.c,v 1.27 2003/11/03 14:12:44 derick Exp $ */
 
 #include "php.h"
 #include "php_globals.h"
@@ -364,6 +364,7 @@
        add_assoc_long(return_value, "unread_bytes", stream->writepos - 
stream->readpos);
 
        add_assoc_bool(return_value, "seekable", (stream->ops->seek) && (stream->flags 
& PHP_STREAM_FLAG_NO_SEEK) == 0);
+       add_assoc_string(return_value, "uri", stream->orig_path, 1);
 
        if (!php_stream_populate_meta_data(stream, return_value)) {
                add_assoc_bool(return_value, "timed_out", 0);
Index: php-src/main/php.h
diff -u php-src/main/php.h:1.199 php-src/main/php.h:1.200
--- php-src/main/php.h:1.199    Wed Sep 24 19:20:48 2003
+++ php-src/main/php.h  Mon Nov  3 09:12:45 2003
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php.h,v 1.199 2003/09/24 23:20:48 iliaa Exp $ */
+/* $Id: php.h,v 1.200 2003/11/03 14:12:45 derick Exp $ */
 
 #ifndef PHP_H
 #define PHP_H
@@ -26,7 +26,7 @@
 #include <dmalloc.h>
 #endif
 
-#define PHP_API_VERSION 20030820
+#define PHP_API_VERSION 20031103
 #define PHP_HAVE_STREAMS
 #define YYDEBUG 0
 
Index: php-src/main/php_streams.h
diff -u php-src/main/php_streams.h:1.83 php-src/main/php_streams.h:1.84
--- php-src/main/php_streams.h:1.83     Tue Jul 29 14:26:34 2003
+++ php-src/main/php_streams.h  Mon Nov  3 09:12:45 2003
@@ -16,7 +16,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: php_streams.h,v 1.83 2003/07/29 18:26:34 iliaa Exp $ */
+/* $Id: php_streams.h,v 1.84 2003/11/03 14:12:45 derick Exp $ */
 
 #ifndef PHP_STREAMS_H
 #define PHP_STREAMS_H
@@ -194,8 +194,8 @@
        FILE *stdiocast;    /* cache this, otherwise we might leak! */
 #if ZEND_DEBUG
        int __exposed;  /* non-zero if exposed as a zval somewhere */
-       char *__orig_path; /* it really helps when debugging "unclosed" streams */
 #endif
+       char *orig_path;
 
        php_stream_context *context;
        int flags;      /* PHP_STREAM_FLAG_XXX */
Index: php-src/main/streams/streams.c
diff -u php-src/main/streams/streams.c:1.38 php-src/main/streams/streams.c:1.39
--- php-src/main/streams/streams.c:1.38 Sun Oct 19 16:59:12 2003
+++ php-src/main/streams/streams.c      Mon Nov  3 09:12:46 2003
@@ -19,7 +19,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: streams.c,v 1.38 2003/10/19 20:59:12 shane Exp $ */
+/* $Id: streams.c,v 1.39 2003/11/03 14:12:46 derick Exp $ */
 
 #define _GNU_SOURCE
 #include "php.h"
@@ -265,7 +265,7 @@
        int release_cast = 1;
 
 #if STREAM_DEBUG
-fprintf(stderr, "stream_free: %s:%p[%s] in_free=%d opts=%08x\n", stream->ops->label, 
stream, stream->__orig_path, stream->in_free, close_options);
+fprintf(stderr, "stream_free: %s:%p[%s] in_free=%d opts=%08x\n", stream->ops->label, 
stream, stream->orig_path, stream->in_free, close_options);
 #endif
 
        /* recursion protection */
@@ -295,7 +295,7 @@
 
 #if STREAM_DEBUG
 fprintf(stderr, "stream_free: %s:%p[%s] preserve_handle=%d release_cast=%d 
remove_rsrc=%d\n",
-               stream->ops->label, stream, stream->__orig_path, preserve_handle, 
release_cast, remove_rsrc);
+               stream->ops->label, stream, stream->orig_path, preserve_handle, 
release_cast, remove_rsrc);
 #endif
 
        /* make sure everything is saved */
@@ -368,11 +368,11 @@
                         * as leaked; it will log a warning, but lets help it out and 
display what kind
                         * of stream it was. */
                        char *leakinfo;
-                       spprintf(&leakinfo, 0, __FILE__ "(%d) : Stream of type '%s' %p 
(path:%s) was not closed\n", __LINE__, stream->ops->label, stream, 
stream->__orig_path);
+                       spprintf(&leakinfo, 0, __FILE__ "(%d) : Stream of type '%s' %p 
(path:%s) was not closed\n", __LINE__, stream->ops->label, stream, stream->orig_path);
 
-                       if (stream->__orig_path) {
-                               pefree(stream->__orig_path, stream->is_persistent);
-                               stream->__orig_path = NULL;
+                       if (stream->orig_path) {
+                               pefree(stream->orig_path, stream->is_persistent);
+                               stream->orig_path = NULL;
                        }
                        
 # if defined(PHP_WIN32)
@@ -382,14 +382,19 @@
 # endif
                        efree(leakinfo);
                } else {
-                       if (stream->__orig_path) {
-                               pefree(stream->__orig_path, stream->is_persistent);
-                               stream->__orig_path = NULL;
+                       if (stream->orig_path) {
+                               pefree(stream->orig_path, stream->is_persistent);
+                               stream->orig_path = NULL;
                        }
 
                        pefree(stream, stream->is_persistent);
                }
 #else
+               if (stream->orig_path) {
+                       pefree(stream->orig_path, stream->is_persistent);
+                       stream->orig_path = NULL;
+               }
+
                pefree(stream, stream->is_persistent);
 #endif
        }
@@ -1516,10 +1521,8 @@
        php_stream *stream = NULL;
        php_stream_wrapper *wrapper = NULL;
        char *path_to_open;
-#if ZEND_DEBUG
        int persistent = options & STREAM_OPEN_PERSISTENT;
        char *copy_of_path = NULL;
-#endif
 
        
        if (opened_path) {
@@ -1558,12 +1561,10 @@
                }
        }
 
-#if ZEND_DEBUG
        if (stream) {
                copy_of_path = pestrdup(path, persistent);
-               stream->__orig_path = copy_of_path;
+               stream->orig_path = copy_of_path;
        }
-#endif
 
        if (stream != NULL && (options & STREAM_MUST_SEEK)) {
                php_stream *newstream;
@@ -1574,9 +1575,7 @@
                        case PHP_STREAM_UNCHANGED:
                                return stream;
                        case PHP_STREAM_RELEASED:
-#if ZEND_DEBUG
-                               newstream->__orig_path = pestrdup(path, persistent);
-#endif
+                               newstream->orig_path = pestrdup(path, persistent);
                                return newstream;
                        default:
                                php_stream_close(stream);

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

Reply via email to