1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-23 04:30:10 +00:00
cc65/libsrc/common/freopen.c
cuz 114acc4d79 Fixed param type qualifiers in several function definitions
git-svn-id: svn://svn.cc65.org/cc65/trunk@278 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-08-13 16:16:49 +00:00

39 lines
661 B
C

/*
* freopen.c
*
* Ullrich von Bassewitz, 17.06.1998
*/
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#include "_file.h"
FILE* freopen (const char* name, const char* mode, FILE* f)
{
/* Check if the file is open, if so, close it */
if ((f->f_flags & _FOPEN) == 0) {
/* File is not open */
_errno = EINVAL; /* File not input */
return 0;
}
/* Close the file. Don't bother setting the flag, it will get
* overwritten by _fopen.
*/
if (close (f->f_fd) < 0) {
/* An error occured, _oserror is set */
return 0;
}
/* Open the file and return the descriptor */
return _fopen (name, mode, f);
}