helly Sun May 14 18:35:41 2006 UTC
Added files:
/php-src/ext/standard/tests/file stream_rfc2397_004.phpt
stream_rfc2397_005.phpt
Modified files:
/php-src/main/streams streams.c
Log:
- Add strict compliant RFC2397 support (no //)
http://cvs.php.net/viewcvs.cgi/php-src/main/streams/streams.c?r1=1.123&r2=1.124&diff_format=u
Index: php-src/main/streams/streams.c
diff -u php-src/main/streams/streams.c:1.123
php-src/main/streams/streams.c:1.124
--- php-src/main/streams/streams.c:1.123 Sat Apr 22 23:49:39 2006
+++ php-src/main/streams/streams.c Sun May 14 18:35:40 2006
@@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: streams.c,v 1.123 2006/04/22 23:49:39 tony2001 Exp $ */
+/* $Id: streams.c,v 1.124 2006/05/14 18:35:40 helly Exp $ */
#define _GNU_SOURCE
#include "php.h"
@@ -1982,9 +1982,9 @@
n++;
}
- if ((*p == ':') && (n > 1) && !strncmp("://", p, 3)) {
+ if ((*p == ':') && (n > 1) && (!strncmp("//", p+1, 2) ||
!memcmp("data", path, 4))) {
protocol = path;
- } else if (strncasecmp(path, "zlib:", 5) == 0) {
+ } else if (n == 5 && strncasecmp(path, "zlib:", 5) == 0) {
/* BC with older php scripts and zlib wrapper */
protocol = "compress.zlib";
n = 13;
http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/tests/file/stream_rfc2397_004.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/file/stream_rfc2397_004.phpt
+++ php-src/ext/standard/tests/file/stream_rfc2397_004.phpt
--TEST--
Stream: RFC2397 Mozilla tests
--FILE--
<?php
$streams = array(
'data://,;test',
'data://text/plain,test',
'data://text/plain;charset=US-ASCII,test',
'data://;charset=UTF-8,Hello',
'data://text/plain;charset=UTF-8,Hello',
'data://,a,b',
);
foreach($streams as $stream)
{
var_dump(@file_get_contents($stream));
}
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
string(5) ";test"
string(4) "test"
string(4) "test"
bool(false)
string(5) "Hello"
string(3) "a,b"
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/standard/tests/file/stream_rfc2397_005.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/file/stream_rfc2397_005.phpt
+++ php-src/ext/standard/tests/file/stream_rfc2397_005.phpt
--TEST--
Stream: RFC2397 without //
--FILE--
<?php
$streams = array(
'data:,A%20brief%20note',
'data:application/vnd-xxx-query,select_vcount,fcol_from_fieldtable/local',
'data:;base64,Zm9vYmFyIGZvb2Jhcg==',
'data:,;test',
'data:text/plain,test',
'data:text/plain;charset=US-ASCII,test',
'data:;charset=UTF-8,Hello',
'data:text/plain;charset=UTF-8,Hello',
'data:,a,b',
);
foreach($streams as $stream)
{
var_dump(@file_get_contents($stream));
}
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
string(12) "A brief note"
string(40) "select_vcount,fcol_from_fieldtable/local"
string(13) "foobar foobar"
string(5) ";test"
string(4) "test"
string(4) "test"
bool(false)
string(5) "Hello"
string(3) "a,b"
===DONE===
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php