aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/formdata.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/formdata.c b/lib/formdata.c
index 171113485..442c306f5 100644
--- a/lib/formdata.c
+++ b/lib/formdata.c
@@ -1307,9 +1307,13 @@ size_t Curl_FormReader(char *buffer,
if(!form->data)
return 0; /* nothing, error, empty */
- if(form->data->type == FORM_FILE)
- return readfromfile(form, buffer, wantedsize);
+ if(form->data->type == FORM_FILE) {
+ gotsize = readfromfile(form, buffer, wantedsize);
+ if(gotsize)
+ /* If positive or -1, return. If zero, continue! */
+ return gotsize;
+ }
do {
if( (form->data->length - form->sent ) > wantedsize - gotsize) {