home *** CD-ROM | disk | FTP | other *** search
- /*------------------------------------------------------------------------
- * filename - close.c
- *
- * function(s)
- * close - close a file handle
- *-----------------------------------------------------------------------*/
-
- /*
- * C/C++ Run Time Library - Version 5.0
- *
- * Copyright (c) 1987, 1992 by Borland International
- * All Rights Reserved.
- *
- */
-
-
- #include <io.h>
- #include <_io.h>
- #include <RtlData.h>
-
- #if CPM_ctlZ /* see commentary in file "zapctlz.cas" */
- #include <fcntl.h>
- #endif
-
- /*-------------------------------------------------------------------------*
-
- Name close - close a file handle
-
- Usage int close(int handle);
-
- Prototype in io.h
-
- Description close closes the file handle indicated by handle which is
- obtained from a _creat, creat, creatnew, creattemp, dup,
- dup2, _open or open call.
-
- Return value Upon successful completion, close returns 0 otherwise, a
- value of -1 is returned and, errno is set to
- EBADF Bad file number
-
- *---------------------------------------------------------------------------*/
- int _CType _FARFUNC close (register int handle)
- {
- if ((unsigned)handle >= _nfile)
- return __IOerror (e_badHandle);
-
- #if CPM_ctlZ /* see commentary in file "zapctlz.cas" */
- if ( !(_openfd[handle] & (O_BINARY | O_DEVICE)) && _openfd[handle] & O_CHANGED)
- __AppendCtlZ (handle);
- #endif
- _RTLInstanceData(_openfd) [handle] = 0;
- return _close(handle);
- }
-