Commit 261a0fed authored by Kamil Dudka's avatar Kamil Dudka
Browse files

src/tool_operate: create output file on successful download

... of an empty file

Bug: https://github.com/bagder/curl/issues/183
parent f251417d
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -14,6 +14,7 @@ This release includes the following changes:
 o curl: add --false-start option
 o add CURLOPT_PATH_AS_IS
 o curl: add --path-as-is option
 o curl: create output file on successful download of an empty file [21]

This release includes the following bugfixes:

@@ -154,3 +155,4 @@ References to bug reports and discussions on issues:
 [18] = http://curl.haxx.se/bug/view.cgi?id=1486
 [19] = https://github.com/bagder/curl/issues/195
 [20] = https://github.com/bagder/curl/issues/192
 [21] = https://github.com/bagder/curl/issues/183
+3 −0
Original line number Diff line number Diff line
@@ -29,5 +29,8 @@

size_t tool_write_cb(void *buffer, size_t sz, size_t nmemb, void *userdata);

/* create a local file for writing, return TRUE on success */
bool tool_create_output_file(struct OutStruct *outs);

#endif /* HEADER_CURL_TOOL_CB_WRT_H */
+7 −0
Original line number Diff line number Diff line
@@ -1388,6 +1388,13 @@ static CURLcode operate_do(struct GlobalConfig *global,
#endif
          result = curl_easy_perform(curl);

          if(!result && !outs.stream && !outs.bytes
              /* we have received no data despite the transfer was successful
                 ==> force cration of an empty output file (if an output file
                 was specified) */
              && !tool_create_output_file(&outs))
            result = CURLE_WRITE_ERROR;

          if(outs.is_cd_filename && outs.stream && !global->mute &&
             outs.filename)
            printf("curl: Saved to filename '%s'\n", outs.filename);