cvs: php4 /ext/bz2 bz2.c /ext/standard php_fopen_wrapper.c /ext/zlib zlib_fopen_wrapper.c /main streams.c
| From: | Wez Furlong | Date: | Thu, 21 Mar 2002 17:02:50 +0000 |
| Subject: | cvs: php4 /ext/bz2 bz2.c /ext/standard php_fopen_wrapper.c /ext/zlib zlib_fopen_wrapper.c /main streams.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-10537@lists.php.net to get a copy of this message | ||
wez Thu Mar 21 12:02:50 2002 EDT
Modified files:
/php4/ext/bz2 bz2.c
/php4/ext/standard php_fopen_wrapper.c
/php4/ext/zlib zlib_fopen_wrapper.c
/php4/main streams.c
Log:
Require that wrappers use <protocol>://<path> to avoid
ambiguities when filenames have ':' characters.
This slightly breaks BC with the old style zlib: wrapper.
Index: php4/ext/bz2/bz2.c
diff -u php4/ext/bz2/bz2.c:1.41 php4/ext/bz2/bz2.c:1.42
--- php4/ext/bz2/bz2.c:1.41 Thu Mar 21 11:51:01 2002
+++ php4/ext/bz2/bz2.c Thu Mar 21 12:02:44 2002
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: bz2.c,v 1.41 2002/03/21 16:51:01 sterling Exp $ */
+/* $Id: bz2.c,v 1.42 2002/03/21 17:02:44 wez Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -161,8 +161,8 @@
char *path_copy;
BZFILE *bz_file;
- if (strncmp("bz2:", path, 4) == 0)
- path += 4;
+ if (strncasecmp("bz2://", path, 6) == 0)
+ path += 6;
#ifdef VIRTUAL_DIR
virtual_filepath(path, &path_copy TSRMLS_CC);
Index: php4/ext/standard/php_fopen_wrapper.c
diff -u php4/ext/standard/php_fopen_wrapper.c:1.15 php4/ext/standard/php_fopen_wrapper.c:1.16
--- php4/ext/standard/php_fopen_wrapper.c:1.15 Mon Mar 18 22:51:01 2002
+++ php4/ext/standard/php_fopen_wrapper.c Thu Mar 21 12:02:47 2002
@@ -17,7 +17,7 @@
| Hartmut Holzgraefe <hholzgra@php.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: php_fopen_wrapper.c,v 1.15 2002/03/19 03:51:01 wez Exp $ */
+/* $Id: php_fopen_wrapper.c,v 1.16 2002/03/21 17:02:47 wez Exp $ */
#include <stdio.h>
#include <stdlib.h>
@@ -34,6 +34,9 @@
{
FILE * fp = NULL;
php_stream * stream = NULL;
+
+ if (!strncasecmp(path, "php://", 6))
+ path += 6;
if (!strcasecmp(path, "stdin")) {
fp = fdopen(dup(STDIN_FILENO), mode);
Index: php4/ext/zlib/zlib_fopen_wrapper.c
diff -u php4/ext/zlib/zlib_fopen_wrapper.c:1.19 php4/ext/zlib/zlib_fopen_wrapper.c:1.20
--- php4/ext/zlib/zlib_fopen_wrapper.c:1.19 Wed Mar 20 21:27:41 2002
+++ php4/ext/zlib/zlib_fopen_wrapper.c Thu Mar 21 12:02:47 2002
@@ -16,7 +16,7 @@
| Hartmut Holzgraefe <hartmut@six.de> |
+----------------------------------------------------------------------+
*/
-/* $Id: zlib_fopen_wrapper.c,v 1.19 2002/03/21 02:27:41 wez Exp $ */
+/* $Id: zlib_fopen_wrapper.c,v 1.20 2002/03/21 17:02:47 wez Exp $ */
#define IS_EXT_MODULE
#define _GNU_SOURCE
@@ -99,8 +99,8 @@
self = emalloc(sizeof(*self));
- if (strncmp("zlib:", path, 5) == 0)
- path += 5;
+ if (strncasecmp("zlib://", path, 7) == 0)
+ path += 7;
self->stream = php_stream_open_wrapper(path, mode, STREAM_MUST_SEEK|options, opened_path);
Index: php4/main/streams.c
diff -u php4/main/streams.c:1.39 php4/main/streams.c:1.40
--- php4/main/streams.c:1.39 Wed Mar 20 20:11:52 2002
+++ php4/main/streams.c Thu Mar 21 12:02:48 2002
@@ -1029,7 +1029,7 @@
n++;
}
- if ((*p == ':') && (n > 1)) {
+ if ((*p == ':') && (n > 1) && !strncmp("://", p, 3)) {
protocol = path;
}