From 297dd55afd2bf2bedbdb244fba4e9027b8060532 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 28 Jul 2006 23:55:25 +0000 Subject: 2006-07-29 Ognyan Kulev * migcom.c (myfclose): New function. (main): Use myfclose instead of fclose. * user.c (WriteUserIndividual): Check for errors when closing file. --- migcom.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'migcom.c') diff --git a/migcom.c b/migcom.c index db04455..40c274e 100644 --- a/migcom.c +++ b/migcom.c @@ -79,6 +79,7 @@ extern int yyparse(); static FILE *myfopen(const char *name, const char *mode); +static void myfclose(FILE *file, const char *name); static string_t RoutineListFileName; @@ -239,7 +240,7 @@ main(int argc, char **argv) fflush(stdout); } WriteUserHeader(uheader, StatementList); - fclose(uheader); + myfclose(uheader, UserHeaderFileName); if (ServerHeaderFileName) { if (BeVerbose) @@ -248,7 +249,7 @@ main(int argc, char **argv) fflush (stdout); } WriteServerHeader(sheader, StatementList); - fclose(sheader); + myfclose(sheader, ServerHeaderFileName); } if (IsKernelServer) { @@ -258,7 +259,7 @@ main(int argc, char **argv) fflush(stdout); } WriteInternalHeader(iheader, StatementList); - fclose(iheader); + myfclose(iheader, InternalHeaderFileName); } if (UserFilePrefix) { @@ -277,7 +278,7 @@ main(int argc, char **argv) fflush(stdout); } WriteUser(user, StatementList); - fclose(user); + myfclose(user, UserFileName); } if (BeVerbose) { @@ -285,13 +286,13 @@ main(int argc, char **argv) fflush(stdout); } WriteServer(server, StatementList); - fclose(server); + myfclose(server, ServerFileName); if (RoutineListFileName != strNULL) { FILE *listfile = myfopen (RoutineListFileName, "w"); WriteRoutineList (listfile, StatementList); - fclose (listfile); + myfclose (listfile, RoutineListFileName); } if (BeVerbose) @@ -318,3 +319,10 @@ myfopen(const char *name, const char *mode) return file; } + +static void +myfclose(FILE *file, const char *name) +{ + if (ferror(file) || fclose(file)) + fatal("fclose(): ", name, unix_error_string(errno)); +} -- cgit v1.2.3