]> granicus.if.org Git - php/commitdiff
Fixed bug #51997 (SEEK_CUR with 0 value, returns a warning).
authorIlia Alshanetsky <iliaa@php.net>
Sun, 5 Jun 2011 21:57:01 +0000 (21:57 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 5 Jun 2011 21:57:01 +0000 (21:57 +0000)
ext/bz2/tests/bug51997.phpt [new file with mode: 0644]
main/streams/streams.c

diff --git a/ext/bz2/tests/bug51997.phpt b/ext/bz2/tests/bug51997.phpt
new file mode 100644 (file)
index 0000000..fea5398
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+Bug #51997 (SEEK_CUR with 0 value, returns a warning)
+--SKIPIF--
+<?php if (!extension_loaded("bz2")) print "skip"; ?>
+--FILE--
+<?php
+
+error_reporting(E_ALL);
+
+$filename = "testfile.bz2";
+$str = "This is a test string.\n";
+$bz = bzopen($filename, "w");
+bzwrite($bz, $str);
+bzclose($bz);
+
+$bz = bzopen($filename, "r");
+fseek($bz, 0, SEEK_CUR);
+print bzread($bz, 10);
+print bzread($bz);
+bzclose($bz);
+unlink($filename);
+
+--EXPECT--
+This is a test string.
index 1017f221241cc0a3358fbab25aa4c78a74192aa1..673795971a40c302ec67555c6b65453de88d2064 100755 (executable)
@@ -1255,7 +1255,7 @@ PHPAPI int _php_stream_seek(php_stream *stream, off_t offset, int whence TSRMLS_
        }
 
        /* emulate forward moving seeks with reads */
-       if (whence == SEEK_CUR && offset > 0) {
+       if (whence == SEEK_CUR && offset >= 0) {
                char tmp[1024];
                size_t didread;
                while(offset > 0) {