summaryrefslogtreecommitdiff
path: root/libavformat/http.c
diff options
context:
space:
mode:
authorLuca Barbato <lu_zero@gentoo.org>2014-03-10 17:17:25 +0100
committerLuca Barbato <lu_zero@gentoo.org>2014-03-11 22:08:56 +0100
commit55a215ba63d9fa79cd7ee265ee2e777ee86b200c (patch)
tree0dc69176806d712b6ae2506d0ddbb4447ecdd0ba /libavformat/http.c
parent390acbea0697a60300f249602dbf701e04274693 (diff)
http: Return meaningful error codes
Diffstat (limited to 'libavformat/http.c')
-rw-r--r--libavformat/http.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libavformat/http.c b/libavformat/http.c
index 96f56f8006..e54e258eb8 100644
--- a/libavformat/http.c
+++ b/libavformat/http.c
@@ -264,7 +264,7 @@ static int http_getc(HTTPContext *s)
if (len < 0) {
return len;
} else if (len == 0) {
- return -1;
+ return AVERROR_EOF;
} else {
s->buf_ptr = s->buffer;
s->buf_end = s->buffer + len;
@@ -327,7 +327,7 @@ static int process_line(URLContext *h, char *line, int line_count,
end += strspn(end, SPACE_CHARS);
av_log(h, AV_LOG_WARNING, "HTTP error %d %s\n",
s->http_code, end);
- return -1;
+ return AVERROR(EIO);
}
} else {
while (*p != '\0' && *p != ':')
@@ -732,13 +732,13 @@ static int64_t http_seek(URLContext *h, int64_t off, int whence)
URLContext *old_hd = s->hd;
int64_t old_off = s->off;
uint8_t old_buf[BUFFER_SIZE];
- int old_buf_size;
+ int old_buf_size, ret;
AVDictionary *options = NULL;
if (whence == AVSEEK_SIZE)
return s->filesize;
else if ((s->filesize == -1 && whence == SEEK_END) || h->is_streamed)
- return -1;
+ return AVERROR(ENOSYS);
/* we save the old context in case the seek fails */
old_buf_size = s->buf_end - s->buf_ptr;
@@ -752,14 +752,14 @@ static int64_t http_seek(URLContext *h, int64_t off, int whence)
/* if it fails, continue on old connection */
av_dict_copy(&options, s->chained_options, 0);
- if (http_open_cnx(h, &options) < 0) {
+ if ((ret = http_open_cnx(h, &options)) < 0) {
av_dict_free(&options);
memcpy(s->buffer, old_buf, old_buf_size);
s->buf_ptr = s->buffer;
s->buf_end = s->buffer + old_buf_size;
s->hd = old_hd;
s->off = old_off;
- return -1;
+ return ret;
}
av_dict_free(&options);
ffurl_close(old_hd);