diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/src/main.c b/src/main.c index deca6c979..2f81ef4e8 100644 --- a/src/main.c +++ b/src/main.c @@ -5633,9 +5633,17 @@ operate(struct Configurable *config, int argc, argv_item_t argv[]) } } } - if(outfile && !curlx_strequal(outfile, "-") && outs.stream) { - int rc = fclose(outs.stream); + int rc; + + if(config->xattr) { + rc = fwrite_xattr(curl, fileno(outs.stream) ); + if(rc) + warnf(config, "Error setting extended attributes: %s\n", + strerror(errno) ); + } + + rc = fclose(outs.stream); if(!res && rc) { /* something went wrong in the writing process */ res = CURLE_WRITE_ERROR; @@ -5643,13 +5651,6 @@ operate(struct Configurable *config, int argc, argv_item_t argv[]) } } - if(config->xattr && outs.filename) { - int err = write_xattr(curl, outs.filename ); - if(err) - warnf( config, "Error setting extended attributes: %s\n", - strerror(errno) ); - } - #ifdef HAVE_UTIME /* Important that we set the time _after_ the file has been closed, as is done above here */ |