blob: ca5c709ba09ec2b0d7f35d9e2a074bcc9ce1dc06 (
plain)
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
29
30
31
32
33
34
35
36
37
38
|
#include <stdio.h>
FILE *save_file = NULL; /* Save input in this file */
FILE *playback_file = NULL; /* Playback data from this file */
/********************************************************
* extended_fgets -- get a line from the input file *
* and record it in a save file if needed *
* *
* Parameters *
* line -- the line to read *
* size -- sizeof(line) -- maximum number of *
* characters to read *
* file -- file to read data from *
* (normally stdin) *
* *
* Returns *
* NULL -- error or end of file in read *
* otherwise line (just like fgets) *
********************************************************/
char *extended_fgets(char *line, int size, FILE *file)
{
extern FILE *save_file; /* file to save strings in */
extern FILE *playback_file; /* file for alternate input */
char *result; /* result of fgets */
if (playback_file != NULL) {
result = fgets(line, size, file);
/* echo the input to the standard out so the user sees it */
(void)fputs(line, stdout);
} else
result = fgets(line, size, file);
/* did someone ask for a save file */
if (save_file != NULL)
(void)fputs(line, save_file);
return (result);
}
|