|
|
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.