From a33fd3b4cf18fd8c0acd9f3800a253e7014f8aba Mon Sep 17 00:00:00 2001 From: sfan5 Date: Sun, 12 May 2024 14:21:01 +0200 Subject: [PATCH] Revert "stream: don't try to read from all-sparse/no-data files" The stream layer is just not the right place to make this change since it's also used for completely unrelated purposes such as reading configs. This reverts commit bb7a485c0932375b888a61966970696c06851a15. --- meson.build | 3 --- stream/stream_file.c | 11 ----------- 2 files changed, 14 deletions(-) diff --git a/meson.build b/meson.build index 9ccc26b3e2..1f35e10f09 100644 --- a/meson.build +++ b/meson.build @@ -438,9 +438,6 @@ endif features += {'ppoll': cc.has_function('ppoll', args: '-D_GNU_SOURCE', prefix: '#include ')} -features += {'seek-data': cc.has_header_symbol('errno.h', 'ENXIO') and - cc.has_header_symbol('unistd.h', 'SEEK_DATA', args: '-D_GNU_SOURCE')} - cd_devices = { 'windows': 'D:', 'cygwin': 'D:', diff --git a/stream/stream_file.c b/stream/stream_file.c index 0a6a697ff6..1744fc13a4 100644 --- a/stream/stream_file.c +++ b/stream/stream_file.c @@ -358,17 +358,6 @@ static int open_f(stream_t *stream, const struct stream_open_args *args) setmode(p->fd, O_BINARY); #endif -#if HAVE_SEEK_DATA - if (stream->mode == STREAM_READ) { - off_t first_data = lseek(p->fd, 0, SEEK_DATA); - if (first_data == (off_t)-1 && errno == ENXIO) { - MP_ERR(stream, "File is empty or all sparse (has no data).\n"); - s_close(stream); - return STREAM_ERROR; - } - } -#endif - off_t len = lseek(p->fd, 0, SEEK_END); lseek(p->fd, 0, SEEK_SET); if (len != (off_t)-1) {