summaryrefslogtreecommitdiff
path: root/main/streams/plain_wrapper.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/streams/plain_wrapper.c')
-rw-r--r--main/streams/plain_wrapper.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/main/streams/plain_wrapper.c b/main/streams/plain_wrapper.c
index 8f7774a30e..50ca925dea 100644
--- a/main/streams/plain_wrapper.c
+++ b/main/streams/plain_wrapper.c
@@ -808,15 +808,11 @@ static int php_stdiop_set_option(php_stream *stream, int option, int value, void
}
size = GetFileSize(hfile, NULL);
- if (range->length == 0 && range->offset > 0 && range->offset < size) {
- range->length = size - range->offset;
- }
- if (range->length == 0 || range->length > size) {
- range->length = size;
- }
- if (range->offset >= size) {
+ if (range->offset > size) {
range->offset = size;
- range->length = 0;
+ }
+ if (range->length == 0 || range->length > size - range->offset) {
+ range->length = size - range->offset;
}
/* figure out how big a chunk to map to be able to view the part that we need */