From 7f5ee96078ac6f283767d2b582ea334fe9c18ff4 Mon Sep 17 00:00:00 2001 From: Nick Wellnhofer Date: Tue, 2 Dec 2014 23:44:24 +0100 Subject: Fix EOF detection Fixes issue with Ctrl-D having to be pressed twice when reading from terminal. --- src/main.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index 5d46e00..6134b13 100644 --- a/src/main.c +++ b/src/main.c @@ -71,6 +71,9 @@ int main(int argc, char *argv[]) start_timer(); while ((bytes = fread(buffer, 1, sizeof(buffer), fp)) > 0) { cmark_parser_feed(parser, buffer, bytes); + if (bytes < sizeof(buffer)) { + break; + } } end_timer("processing lines"); @@ -86,6 +89,9 @@ int main(int argc, char *argv[]) while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0) { cmark_parser_feed(parser, buffer, bytes); + if (bytes < sizeof(buffer)) { + break; + } } } -- cgit v1.2.3