summaryrefslogtreecommitdiff
path: root/plugins/vfs_curl/vfs_curl.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-05-01 15:39:52 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-05-01 15:39:52 +0200
commit76a27d6a8ffcc8d6ca608e674a78115cdf14b6ec (patch)
tree801dc43105be2d5e36124f02359c48cdc2805abb /plugins/vfs_curl/vfs_curl.c
parentddfbdc8c68cb2c8ebc65d4f4576dbc1eb270c209 (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.c7
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);
}