From a8f69429b0a6492bdcb8b4d59a28c8ba90b45aed Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Thu, 20 Nov 2008 12:45:17 +0100 Subject: input_curl: don't fail when seek to EOF is requested HTTP servers respond with "416 Requested Range Not Satisfiable" when a client attempts to seek to the end of the file. Catch this special case in input_curl_seek(). This fixes a glitch in the ogg vorbis decoder plugin. --- src/input_curl.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/input_curl.c b/src/input_curl.c index 20b26a9ed..7c98cad7c 100644 --- a/src/input_curl.c +++ b/src/input_curl.c @@ -595,6 +595,14 @@ input_curl_seek(struct input_stream *is, off_t offset, int whence) input_curl_easy_free(c); + if (is->offset == is->size) { + /* seek to EOF: simulate empty result; avoid + triggering a "416 Requested Range Not Satisfiable" + response */ + c->eof = true; + return true; + } + ret = input_curl_easy_init(is); if (!ret) return false; -- cgit v1.2.3