X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/b906441c9568615be3ddce717a6e365b2e368af3..aad8382e8d9f1d602885a4db57a08180fe7f51c8:/src/files.c diff --git a/src/files.c b/src/files.c index c4c223d3..da4c36b1 100644 --- a/src/files.c +++ b/src/files.c @@ -28,7 +28,7 @@ #include "complain.h" /* From basename.c. Almost a lie, as it returns a char *. */ -const char *base_name PARAMS ((char const *name)); +const char *base_name (char const *name); FILE *finput = NULL; @@ -111,7 +111,7 @@ xfopen (const char *name, const char *mode) ptr = fopen (name, mode); if (!ptr) - error (2, errno, _("cannot open file `%s'"), name); + error (EXIT_FAILURE, errno, _("cannot open file `%s'"), name); return ptr; } @@ -120,19 +120,17 @@ xfopen (const char *name, const char *mode) | Try to close file PTR, and print an error message if fails. | `-------------------------------------------------------------*/ -int +void xfclose (FILE *ptr) { - int result; - if (ptr == NULL) - return 0; + return; - result = fclose (ptr); - if (result == EOF) - error (2, errno, _("cannot close file")); + if (ferror (ptr)) + error (EXIT_FAILURE, 0, _("I/O error")); - return result; + if (fclose (ptr) != 0) + error (EXIT_FAILURE, errno, _("cannot close file")); }