Skip to content

Commit

Permalink
- Fixed bug #43510 (stream_get_meta_data() does not return same mode …
Browse files Browse the repository at this point in the history
…as used in fopen)
  • Loading branch information
Jani Taskinen committed Aug 1, 2009
1 parent 2f57760 commit df61b3c
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 1 deletion.
2 changes: 2 additions & 0 deletions NEWS
Expand Up @@ -75,6 +75,8 @@ PHP NEWS
- Fixed bug #45141 (setcookie will output expires years of >4 digits). (Ilia)
- Fixed bug #44144 (spl_autoload_functions() should return object instance
when appropriate). (Hannes, Etienne)
- Fixed bug #43510 (stream_get_meta_data() does not return same mode as used
in fopen). (Jani)
- Fixed bug #42434 (ImageLine w/ antialias = 1px shorter). (wojjie at gmail dot
com, Kalle)

Expand Down
3 changes: 2 additions & 1 deletion ext/standard/http_fopen_wrapper.c
Expand Up @@ -325,7 +325,6 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *path,
strlcat(scratch, " HTTP/1.0\r\n", scratch_len);
}


/* send it */
php_stream_write(stream, scratch, strlen(scratch));

Expand Down Expand Up @@ -756,6 +755,8 @@ php_stream *php_stream_url_wrap_http_ex(php_stream_wrapper *wrapper, char *path,
* the stream */
stream->position = 0;

/* restore mode */
strlcpy(stream->mode, mode, sizeof(stream->mode));
}

return stream;
Expand Down
28 changes: 28 additions & 0 deletions ext/standard/tests/http/bug43510.phpt
@@ -0,0 +1,28 @@
--TEST--
Bug #43510: stream_get_meta_data() does not return same mode as used in fopen
--SKIPIF--
<?php require 'server.inc'; http_server_skipif('tcp://127.0.0.1:12342'); ?>
--FILE--
<?php
require 'server.inc';

$responses = array(
"data://text/plain,HTTP/1.0 200 OK\r\n\r\n",
"data://text/plain,HTTP/1.0 200 OK\r\n\r\n",
);

$pid = http_server("tcp://127.0.0.1:12342", $responses, $output);

foreach(array('r', 'rb') as $mode) {
$fd = fopen('http://127.0.0.1:12342/', $mode, false);
$meta = stream_get_meta_data($fd);
var_dump($meta['mode']);
fclose($fd);
}

http_server_kill($pid);

?>
--EXPECT--
string(1) "r"
string(2) "rb"

0 comments on commit df61b3c

Please sign in to comment.