diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2011-09-08 08:26:16 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2011-09-08 08:26:16 +0000 |
commit | f6ac059a05b65bd9e93ba59fd932e3f8568a250a (patch) | |
tree | a9dc0c4b26761a9701f558a08a918155adfbe2b9 /content/llcache.c | |
parent | c25d7890e7b2fc87cce8804851587db805485358 (diff) | |
download | netsurf-f6ac059a05b65bd9e93ba59fd932e3f8568a250a.tar.gz netsurf-f6ac059a05b65bd9e93ba59fd932e3f8568a250a.tar.bz2 |
Handle zero-length documents correctly
svn path=/trunk/netsurf/; revision=12778
Diffstat (limited to 'content/llcache.c')
-rw-r--r-- | content/llcache.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/content/llcache.c b/content/llcache.c index b02d0135f..3862cb467 100644 --- a/content/llcache.c +++ b/content/llcache.c @@ -1445,6 +1445,15 @@ nserror llcache_object_notify_users(llcache_object *object) return error; continue; + } else if (error == NSERROR_NEED_DATA) { + /* User requested replay */ + handle->state = LLCACHE_FETCH_HEADERS; + + /* Continue with the next user -- we'll + * reemit the event next time round */ + user->iterator_target = false; + next_user = user->next; + continue; } else if (error != NSERROR_OK) { user->iterator_target = false; return error; @@ -1522,6 +1531,15 @@ nserror llcache_object_notify_users(llcache_object *object) return error; continue; + } else if (error == NSERROR_NEED_DATA) { + /* User requested replay */ + handle->state = LLCACHE_FETCH_DATA; + + /* Continue with the next user -- we'll + * reemit the event next time round */ + user->iterator_target = false; + next_user = user->next; + continue; } else if (error != NSERROR_OK) { user->iterator_target = false; return error; |