X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/840b3f0e45a43b8378e88c66f004b2f186662e35..c576ad2674c37a1c63f004c71049998f38854c64:/sbr/read_line.c diff --git a/sbr/read_line.c b/sbr/read_line.c index 35d71a7a..a6367de4 100644 --- a/sbr/read_line.c +++ b/sbr/read_line.c @@ -1,16 +1,28 @@ +/* read_line.c -- read a possibly incomplete line from stdin. + * + * This code is Copyright (c) 2017, by the authors of nmh. See the + * COPYRIGHT file in the root directory of the nmh distribution for + * complete copyright information. + */ + #include +#include +#include "read_line.h" +/* + * Flush standard output, read a line from standard input into a static buffer, + * zero out the newline, and return a pointer to the buffer. + * On error, return NULL. + */ const char * read_line(void) { - char *cp; static char line[BUFSIZ]; fflush(stdout); if (fgets(line, sizeof(line), stdin) == NULL) return NULL; - if ((cp = strchr(line, '\n'))) - *cp = 0; - return line; -} + trim_suffix_c(line, '\n'); + return line; /* May not be a complete line. */ +}