aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tool_operate.c60
1 files changed, 30 insertions, 30 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c
index e1c9c6251..fa8be45ed 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -905,35 +905,6 @@ static CURLcode single_transfer(struct GlobalConfig *global,
/* default output stream is stdout */
outs->stream = stdout;
- /* --etag-save */
- etag_save = &per->etag_save;
- etag_save->stream = stdout;
-
- if(config->etag_save_file) {
- /* open file for output: */
- if(strcmp(config->etag_save_file, "-")) {
- FILE *newfile = fopen(config->etag_save_file, "wb");
- if(!newfile) {
- warnf(
- config->global,
- "Failed to open %s\n", config->etag_save_file);
-
- result = CURLE_WRITE_ERROR;
- break;
- }
- else {
- etag_save->filename = config->etag_save_file;
- etag_save->s_isreg = TRUE;
- etag_save->fopened = TRUE;
- etag_save->stream = newfile;
- }
- }
- else {
- /* always use binary mode for protocol header output */
- set_binmode(etag_save->stream);
- }
- }
-
/* --etag-compare */
if(config->etag_compare_file) {
char *etag_from_file = NULL;
@@ -941,7 +912,7 @@ static CURLcode single_transfer(struct GlobalConfig *global,
/* open file for reading: */
FILE *file = fopen(config->etag_compare_file, FOPEN_READTEXT);
- if(!file) {
+ if(!file && !config->etag_save_file) {
errorf(config->global,
"Failed to open %s\n", config->etag_compare_file);
result = CURLE_READ_ERROR;
@@ -975,6 +946,35 @@ static CURLcode single_transfer(struct GlobalConfig *global,
}
}
+ /* --etag-save */
+ etag_save = &per->etag_save;
+ etag_save->stream = stdout;
+
+ if(config->etag_save_file) {
+ /* open file for output: */
+ if(strcmp(config->etag_save_file, "-")) {
+ FILE *newfile = fopen(config->etag_save_file, "wb");
+ if(!newfile) {
+ warnf(
+ config->global,
+ "Failed to open %s\n", config->etag_save_file);
+
+ result = CURLE_WRITE_ERROR;
+ break;
+ }
+ else {
+ etag_save->filename = config->etag_save_file;
+ etag_save->s_isreg = TRUE;
+ etag_save->fopened = TRUE;
+ etag_save->stream = newfile;
+ }
+ }
+ else {
+ /* always use binary mode for protocol header output */
+ set_binmode(etag_save->stream);
+ }
+ }
+
if(metalink) {
/* For Metalink download, use name in Metalink file as
filename. */