xref: /original-bsd/contrib/dungeon/listen.c (revision 1e14295c)
1 #include <stdio.h>
2 
3 #ifndef CINDEXFILE
4 #define CINDEXFILE	"/usr/games/lib/dunlib/dindx.dat"
5 #endif
6 
7 main(numargs, argptr)
8 
9 int numargs;
10 char *argptr[];
11 {
12 int  chr;
13 FILE *fpin;
14 
15 
16 	fprintf(stderr,"Yawn... \n");
17 
18 /* 	open init file */
19 	fpin = fopen(CINDEXFILE, "r");
20 	if (fpin == NULL)  {
21 		fclose(fpin);
22 		fprintf(stderr,"Init file missing.\n");
23 		exit(0);
24 	}
25 
26 /* 	transfer init file into the pipe */
27 
28 	while ((chr = getc(fpin)) != EOF)
29 		putchar((char)chr);
30 
31 	fclose(fpin);
32 
33 /*	check for restore file argument  */
34 
35 	if(numargs > 1){
36 		fpin = fopen(*++argptr,"r");
37 		if( fpin == NULL)
38 			fprintf(stderr,"Restore file missing.\n");
39 
40 		else {
41 			putchar('R');
42 			while((chr = getc(fpin)) != EOF)
43 				putchar((char)chr);
44 			fprintf(stderr,"Now, where were we...\n");
45 			fclose(fpin);
46 		}
47 	}
48 
49 	fprintf(stderr,"Oh hello .. \n");
50 
51 /*	send end of init data flag	*/
52 
53 	putchar('?');
54 	fflush(stdout);
55 
56 /*	send lines of standard input to pipe	*/
57 
58 	while ((chr = getchar()) != EOF){
59 		putchar(chr);
60 		if (chr == '\n')
61 			fflush(stdout);
62 	}
63 
64 /* 	end the process	*/
65 	fprintf(stderr,"Goodnight .. \n");
66 }
67