efreopen.c 915 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*====================================================================*
  2. *
  3. * FILE *efreopen(char const *filename, char const *openmode, FILE *fp);
  4. *
  5. * files.h
  6. *
  7. * attempt to reopen a file using freopen(); return a valid file
  8. * pointer on success; print an error message to stderr and then
  9. * return NULL on failure;
  10. *
  11. * Motley Tools by Charles Maier;
  12. * Copyright (c) 2001-2006 by Charles Maier Associates;
  13. * Licensed under the Internet Software Consortium License;
  14. *
  15. *--------------------------------------------------------------------*/
  16. #ifndef EFREOPEN_SOURCE
  17. #define EFREOPEN_SOURCE
  18. #include <stdio.h>
  19. #include <errno.h>
  20. #include "../tools/files.h"
  21. #include "../tools/error.h"
  22. FILE *efreopen (char const *filename, char const *openmode, FILE *fp)
  23. {
  24. if ((fp = freopen (filename, openmode, fp)) == (FILE *)(0))
  25. {
  26. error (0, errno, "%s", filename);
  27. }
  28. return (fp);
  29. }
  30. #endif