From: Greg Beaver Date: Tue, 16 Jan 2007 03:41:52 +0000 (+0000) Subject: fix for deleted files when read from, generalize refcount1 test better X-Git-Tag: RELEASE_1_0_0RC1~255 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=28d4b75d268802af95029d22021bdad2abe8f07d;p=php fix for deleted files when read from, generalize refcount1 test better --- diff --git a/ext/phar/phar.c b/ext/phar/phar.c index 8ed743bb2d..c617cfc719 100644 --- a/ext/phar/phar.c +++ b/ext/phar/phar.c @@ -1597,8 +1597,13 @@ static int phar_dir_seek(php_stream *stream, off_t offset, int whence, off_t *ne static size_t phar_stream_read(php_stream *stream, char *buf, size_t count TSRMLS_DC) /* {{{ */ { phar_entry_data *data = (phar_entry_data *)stream->abstract; - - size_t got = php_stream_read(data->fp, buf, count); + size_t got; + + if (data->internal_file->is_deleted) { + stream->eof = 1; + return 0; + } + got = php_stream_read(data->fp, buf, count); if (data->fp->eof) { stream->eof = 1; diff --git a/ext/phar/tests/refcount1.phpt b/ext/phar/tests/refcount1.phpt index bafdc86956..ef5c1f3da9 100644 --- a/ext/phar/tests/refcount1.phpt +++ b/ext/phar/tests/refcount1.phpt @@ -39,5 +39,7 @@ include $pname . '/b/c.php'; extra extra -Warning: include(): Failed opening 'phar://%s/b/c.php): for inclusion (include_path='%s') in %s on line 27 +Warning: include(phar:///home/cellog/workspace/pecl/phar/tests/refcount1.phpt.phar.php/b/c.php): failed to open stream: phar error: "b/c.php" is not a file in phar "/home/cellog/workspace/pecl/phar/tests/refcount1.phpt.phar.php" in /home/cellog/workspace/pecl/phar/tests/refcount1.phpt on line %d + +Warning: include(): Failed opening 'phar:///home/cellog/workspace/pecl/phar/tests/refcount1.phpt.phar.php/b/c.php' for inclusion (include_path='.:/usr/local/lib/php') in /home/cellog/workspace/pecl/phar/tests/refcount1.phpt on line %d ===DONE===