+2012-06-17 Giuseppe Scrivano <gscrivano@gnu.org>
+
+ * wget.h: Define `CLOSEFAILED'.
+ * init.c: Include "exits.h".
+ (cleanup): Check `fclose' failure.
+ * exits.c (get_status_for_err): Handle `CLOSEFAILED'.
+
2012-06-16 Giuseppe Scrivano <gscrivano@gnu.org>
* main.c (main): Move some cleanup related function to...
case RETROK:
return WGET_EXIT_SUCCESS;
case FOPENERR: case FOPEN_EXCL_ERR: case FWRITEERR: case WRITEFAILED:
- case UNLINKERR:
+ case UNLINKERR: case CLOSEFAILED:
return WGET_EXIT_IO_FAIL;
case NOCONERROR: case HOSTERR: case CONSOCKERR: case CONERROR:
case CONSSLERR: case CONIMPOSSIBLE: case FTPRERR: case FTPINVPASV:
as that of the covered work. */
#include "wget.h"
+#include "exits.h"
#include <stdio.h>
#include <stdlib.h>
log_close ();
if (output_stream)
- fclose (output_stream);
+ if (fclose (output_stream) == EOF)
+ inform_exit_status (CLOSEFAILED);
+
/* No need to check for error because Wget flushes its output (and
checks for errors) after any data arrives. */
PROXERR,
/* 50 */
AUTHFAILED, QUOTEXC, WRITEFAILED, SSLINITFAILED, VERIFCERTERR,
- UNLINKERR, NEWLOCATION_KEEP_POST,
+ UNLINKERR, NEWLOCATION_KEEP_POST, CLOSEFAILED,
WARC_ERR, WARC_TMP_FOPENERR, WARC_TMP_FWRITEERR
} uerr_t;