From ff77814d03c5eb1395de3a9c28b50fcc8750e5b7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gustavo=20Andr=C3=A9=20dos=20Santos=20Lopes?= Date: Sat, 11 Dec 2010 02:08:02 +0000 Subject: [PATCH] - Tests and small parsing correction for php://fd wrapper --- ext/standard/php_fopen_wrapper.c | 2 +- .../tests/file/php_fd_wrapper_01.phpt | 11 ++++++++++ .../tests/file/php_fd_wrapper_02.phpt | 11 ++++++++++ .../tests/file/php_fd_wrapper_03.phpt | 22 +++++++++++++++++++ .../tests/file/php_fd_wrapper_04.phpt | 20 +++++++++++++++++ 5 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 ext/standard/tests/file/php_fd_wrapper_01.phpt create mode 100644 ext/standard/tests/file/php_fd_wrapper_02.phpt create mode 100644 ext/standard/tests/file/php_fd_wrapper_03.phpt create mode 100644 ext/standard/tests/file/php_fd_wrapper_04.phpt diff --git a/ext/standard/php_fopen_wrapper.c b/ext/standard/php_fopen_wrapper.c index 2a7a2793c7..790c06277e 100644 --- a/ext/standard/php_fopen_wrapper.c +++ b/ext/standard/php_fopen_wrapper.c @@ -265,7 +265,7 @@ php_stream * php_stream_url_wrap_php(php_stream_wrapper *wrapper, char *path, ch start = &path[3]; fildes_ori = strtol(start, &end, 10); - if (end == start || (*end != '\0' && *end != '/')) { + if (end == start || *end != '\0') { php_stream_wrapper_log_error(wrapper, options TSRMLS_CC, "php://fd/ stream must be specified in the form php://fd/"); return NULL; diff --git a/ext/standard/tests/file/php_fd_wrapper_01.phpt b/ext/standard/tests/file/php_fd_wrapper_01.phpt new file mode 100644 index 0000000000..037edd7f6b --- /dev/null +++ b/ext/standard/tests/file/php_fd_wrapper_01.phpt @@ -0,0 +1,11 @@ +--TEST-- +php://fd wrapper: basic test +--FILE-- + in %s on line %d + +Warning: fopen(php://fd/-2): failed to open stream: The file descriptors must be non-negative numbers smaller than %d in %s on line %d + +Warning: fopen(php://fd/1/): failed to open stream: php://fd/ stream must be specified in the form php://fd/ in %s on line %d + +Done. diff --git a/ext/standard/tests/file/php_fd_wrapper_04.phpt b/ext/standard/tests/file/php_fd_wrapper_04.phpt new file mode 100644 index 0000000000..51f4d9f171 --- /dev/null +++ b/ext/standard/tests/file/php_fd_wrapper_04.phpt @@ -0,0 +1,20 @@ +--TEST-- +php://fd wrapper: invalid file descriptor +--SKIPIF-- +