|
|
1.1 ! root 1: /*********************************************************** ! 2: Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts, ! 3: and the Massachusetts Institute of Technology, Cambridge, Massachusetts. ! 4: ! 5: All Rights Reserved ! 6: ! 7: Permission to use, copy, modify, and distribute this software and its ! 8: documentation for any purpose and without fee is hereby granted, ! 9: provided that the above copyright notice appear in all copies and that ! 10: both that copyright notice and this permission notice appear in ! 11: supporting documentation, and that the names of Digital or MIT not be ! 12: used in advertising or publicity pertaining to distribution of the ! 13: software without specific, written prior permission. ! 14: ! 15: DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ! 16: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ! 17: DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ! 18: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, ! 19: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ! 20: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS ! 21: SOFTWARE. ! 22: ! 23: ******************************************************************/ ! 24: /* $Header: fileio.c,v 1.8 87/09/11 07:50:51 toddb Exp $ */ ! 25: #include <stdio.h> ! 26: #include "os.h" ! 27: #include "osdep.h" ! 28: ! 29: /* ! 30: * FiOpenForRead, FiRead, FiClose, ! 31: */ ! 32: ! 33: FID ! 34: FiOpenForRead( lenn, name) ! 35: int lenn; ! 36: char *name; ! 37: { ! 38: FID fid; ! 39: char *unixfname = name; ! 40: ! 41: ! 42: if ( name[lenn-1] != '\0') ! 43: { ! 44: unixfname = (char *) ALLOCATE_LOCAL( lenn+1); ! 45: strncpy( unixfname, name, lenn); ! 46: unixfname[lenn] = '\0'; ! 47: } ! 48: else ! 49: unixfname = name; ! 50: ! 51: fid = (FID)fopen( unixfname, "r"); ! 52: if(unixfname != name) ! 53: DEALLOCATE_LOCAL(unixfname); ! 54: return fid; ! 55: } ! 56: ! 57: ! 58: /* ! 59: * returns 0 on error ! 60: */ ! 61: int ! 62: FiRead( buf, itemsize, nitems, fid) ! 63: char *buf; ! 64: unsigned itemsize; ! 65: unsigned nitems; ! 66: FID fid; ! 67: { ! 68: return fread( buf, itemsize, nitems, (FILE *)fid); ! 69: } ! 70: ! 71: int ! 72: FiClose(fid) ! 73: FID fid; ! 74: { ! 75: return fclose( (FILE *)fid); ! 76: } ! 77:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.