diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-05-01 15:39:52 +0200 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-05-01 15:39:52 +0200 |
commit | 76a27d6a8ffcc8d6ca608e674a78115cdf14b6ec (patch) | |
tree | 801dc43105be2d5e36124f02359c48cdc2805abb /plugins/vfs_curl/vfs_curl.c | |
parent | ddfbdc8c68cb2c8ebc65d4f4576dbc1eb270c209 (diff) |
improved decoder API to be able to interrupt .init at any moment
Diffstat (limited to 'plugins/vfs_curl/vfs_curl.c')
-rw-r--r-- | plugins/vfs_curl/vfs_curl.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/plugins/vfs_curl/vfs_curl.c b/plugins/vfs_curl/vfs_curl.c index e7e5a390..6f459a53 100644 --- a/plugins/vfs_curl/vfs_curl.c +++ b/plugins/vfs_curl/vfs_curl.c @@ -617,14 +617,15 @@ http_close (DB_FILE *stream) { static size_t http_read (void *ptr, size_t size, size_t nmemb, DB_FILE *stream) { -// trace ("http_read %d\n", size*nmemb); assert (stream); assert (ptr); HTTP_FILE *fp = (HTTP_FILE *)stream; +// trace ("http_read %d (status=%d)\n", size*nmemb, fp->status); fp->seektoend = 0; int sz = size * nmemb; -// assert (size * nmemb <= BUFFER_SIZE); -// trace ("readpos=%d, readsize=%d\n", fp->pos & BUFFER_SIZE, sz); + if (fp->status == STATUS_ABORTED || fp->status == STATUS_FINISHED) { + return -1; + } if (!fp->tid) { http_start_streamer (fp); } |