|
|
1.1 root 1: #include <ctype.h>
2: #include <stdio.h>
3:
4: void adios();
5:
6: main(argc, argv)
7: int argc; char *argv[];
8: {
9: extern FILE *fdopen();
10: FILE *fd;
11: int fo;
12: int holder;
13:
14: if (--argc != 1)
15: adios("Usage: fdopen example_filename");
16: if ((fo = open(argv[1], 0)) == -1)
17: adios("open failed.");
18: if ((fd = fdopen(fo, "r")) == NULL)
19: adios("fdopen failed.");
20:
21: while ((holder = fgetc(fd)) != EOF) {
22: if ((holder > '\177') && (holder < ' '))
23: switch(holder) {
24: case '\t':
25: case '\n':
26: break;
27: default:
28: fprintf(stderr,
29: "Seeing char %d\n", holder);
30: exit(1);
31: }
32: fputc(holder, stdout);
33: }
34: exit(0);
35: }
36:
37: void adios(message)
38: char *message;
39: {
40: fprintf(stderr, "%s\n", message);
41: exit(1);
42: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.