Pierre, The existing write_error() function prints an error, removes the output file and exits with an error code. So I believe that my patch is equivalent to what you are suggesting (except you have some unreachable code :)).
Matt On Sat, Jun 03, 2006 at 12:29:37PM +0200, Pierre HABOUZIT wrote: > > I personnaly disagree with the attached patch. > I'd have proposed more something that does: > > if (!to_stdout) { > /* Copy modes, times, ownership, and remove the input file */ > copy_stat(&istat); > /* if close fails (e.g. over quota !) destroy output file, and fail > hard */ > if (close(ofd)) { > write_error(); > xunlink(ofname); > WARN((stderr, "%s: ", progname)); > abort(); > } > } > > of course, I don't have gzip sources under the eye, but that do seem more > robust to me and more in the unix spirit (if anything fails, go in the > previous state back, and fail noisily). > > > -- > ·O· Pierre Habouzit > ··O [EMAIL PROTECTED] > OOO http://www.madism.org -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]