diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/easy.c | 8 | ||||
-rw-r--r-- | lib/formdata.c | 14 | ||||
-rw-r--r-- | lib/mime.c | 41 | ||||
-rw-r--r-- | lib/mime.h | 5 |
4 files changed, 10 insertions, 58 deletions
diff --git a/lib/easy.c b/lib/easy.c index 85a882a97..1a6912748 100644 --- a/lib/easy.c +++ b/lib/easy.c @@ -983,14 +983,6 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action) newstate |= ((action & CURLPAUSE_RECV)?KEEP_RECV_PAUSE:0) | ((action & CURLPAUSE_SEND)?KEEP_SEND_PAUSE:0); - /* Unpause parts in active mime tree. */ - if((k->keepon & ~newstate & KEEP_SEND_PAUSE) && - (data->mstate == CURLM_STATE_PERFORM || - data->mstate == CURLM_STATE_TOOFAST) && - data->state.fread_func == (curl_read_callback) Curl_mime_read) { - Curl_mime_unpause(data->state.in); - } - /* put it back in the keepon */ k->keepon = newstate; diff --git a/lib/formdata.c b/lib/formdata.c index 6103959cd..429d479da 100644 --- a/lib/formdata.c +++ b/lib/formdata.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -730,15 +730,11 @@ int curl_formget(struct curl_httppost *form, void *arg, switch(nread) { default: - if(append(arg, buffer, nread) == nread) - break; - /* FALLTHROUGH */ - case CURL_READFUNC_ABORT: - result = CURLE_ABORTED_BY_CALLBACK; + if(append(arg, buffer, nread) != nread) + result = CURLE_READ_ERROR; break; - case (size_t) -1: /* Read error. */ - case CURL_READFUNC_PAUSE: /* Should not be paused. */ - result = CURLE_READ_ERROR; + case CURL_READFUNC_ABORT: + case CURL_READFUNC_PAUSE: break; } } diff --git a/lib/mime.c b/lib/mime.c index 5f928a171..081e51e50 100644 --- a/lib/mime.c +++ b/lib/mime.c @@ -5,7 +5,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -740,19 +740,9 @@ static size_t read_part_content(curl_mimepart *part, { size_t sz = 0; - switch(part->lastreadstatus) { - case 0: - case CURL_READFUNC_ABORT: - case CURL_READFUNC_PAUSE: - case READ_ERROR: - break; - default: - if(part->readfunc) - sz = part->readfunc(buffer, 1, bufsize, part->arg); - part->lastreadstatus = sz; - break; - } - return part->lastreadstatus; + if(part->readfunc) + sz = part->readfunc(buffer, 1, bufsize, part->arg); + return sz; } /* Read and encode part content. */ @@ -1041,7 +1031,6 @@ static int mime_part_rewind(curl_mimepart *part) if(res == CURL_SEEKFUNC_OK) mimesetstate(&part->state, targetstate, NULL); - part->lastreadstatus = 1; /* Successful read status. */ return res; } @@ -1084,7 +1073,6 @@ static void cleanup_part_content(curl_mimepart *part) part->datasize = (curl_off_t) 0; /* No size yet. */ cleanup_encoder_state(&part->encstate); part->kind = MIMEKIND_NONE; - part->lastreadstatus = 1; /* Successful read status. */ } static void mime_subparts_free(void *ptr) @@ -1250,7 +1238,6 @@ void Curl_mime_initpart(curl_mimepart *part, struct Curl_easy *easy) { memset((char *) part, 0, sizeof(*part)); part->easy = easy; - part->lastreadstatus = 1; /* Successful read status. */ mimesetstate(&part->state, MIMESTATE_BEGIN, NULL); } @@ -1818,26 +1805,6 @@ CURLcode Curl_mime_prepare_headers(curl_mimepart *part, return ret; } -/* Recursively reset paused status in the given part. */ -void Curl_mime_unpause(curl_mimepart *part) -{ - if(part) { - if(part->lastreadstatus == CURL_READFUNC_PAUSE) - part->lastreadstatus = 1; /* Successful read status. */ - if(part->kind == MIMEKIND_MULTIPART) { - curl_mime *mime = (curl_mime *) part->arg; - - if(mime) { - curl_mimepart *subpart; - - for(subpart = mime->firstpart; subpart; subpart = subpart->nextpart) - Curl_mime_unpause(subpart); - } - } - } -} - - #else /* !CURL_DISABLE_HTTP || !CURL_DISABLE_SMTP || !CURL_DISABLE_IMAP */ /* Mime not compiled in: define stubs for externally-referenced functions. */ diff --git a/lib/mime.h b/lib/mime.h index c6d374ec1..3241fdc1f 100644 --- a/lib/mime.h +++ b/lib/mime.h @@ -7,7 +7,7 @@ * | (__| |_| | _ <| |___ * \___|\___/|_| \_\_____| * - * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. + * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al. * * This software is licensed as described in the file COPYING, which * you should have received as part of this distribution. The terms @@ -125,7 +125,6 @@ struct curl_mimepart_s { mime_state state; /* Current readback state. */ const mime_encoder *encoder; /* Content data encoder. */ mime_encoder_state encstate; /* Data encoder state. */ - size_t lastreadstatus; /* Last read callback returned status. */ }; CURLcode Curl_mime_add_header(struct curl_slist **slp, const char *fmt, ...); @@ -148,7 +147,6 @@ size_t Curl_mime_read(char *buffer, size_t size, size_t nitems, void *instream); CURLcode Curl_mime_rewind(curl_mimepart *part); const char *Curl_mime_contenttype(const char *filename); -void Curl_mime_unpause(curl_mimepart *part); #else /* if disabled */ @@ -160,7 +158,6 @@ void Curl_mime_unpause(curl_mimepart *part); #define Curl_mime_size(x) (curl_off_t) -1 #define Curl_mime_read NULL #define Curl_mime_rewind(x) ((void)x, CURLE_NOT_BUILT_IN) -#define Curl_mime_unpause(x) #endif |