blob: 9c04fb84514ad9a87b706087d7621def092c678a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
#include "cat.h"
/* Function opens and writes the contents of a named file to stdout;
* effectively a wrapper around cfd() */
int cfn(const char *fn, void *buf) {
int fd;
/* Open the file to get a read-only file descriptor */
if ((fd = open(fn, O_RDONLY)) == -1) {
perror(__FUNCTION__);
return -1;
}
/* Pass the opened descriptor to cfd() to read it; we keep going even if
* there are problems, because we need the descriptor closed even if we
* couldn't read it */
cfd(fd, buf);
/* Close the descriptor, since we should now be done with it */
if (close(fd) == -1) {
perror(__FUNCTION__);
return -1;
}
/* Done, assume success */
return 0;
}
|