From: Daniel Stenberg Date: Mon, 3 Aug 2009 09:06:35 +0000 (+0000) Subject: respect error code from ftruncate(), mentioned by Peter Sylvester X-Git-Tag: curl-7_19_6~24 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9d03dd7fb83371b01997fe8e6bc000ce6d56f8d4;p=curl respect error code from ftruncate(), mentioned by Peter Sylvester --- diff --git a/src/main.c b/src/main.c index c7669ad11..ddca73322 100644 --- a/src/main.c +++ b/src/main.c @@ -4991,7 +4991,14 @@ operate(struct Configurable *config, int argc, argv_item_t argv[]) fflush(outs.stream); /* truncate file at the position where we started appending */ #ifdef HAVE_FTRUNCATE - ftruncate( fileno(outs.stream), outs.init); + if(ftruncate( fileno(outs.stream), outs.init)) { + /* when truncate fails, we can't just append as then we'll + create something strange, bail out */ + if(!config->mute) + fprintf(config->errors, + "failed to truncate, exiting\n"); + break; + } /* now seek to the end of the file, the position where we just truncated the file in a large file-safe way */ fseek(outs.stream, 0, SEEK_END);