From 7f5ee96078ac6f283767d2b582ea334fe9c18ff4 Mon Sep 17 00:00:00 2001
From: Nick Wellnhofer <wellnhofer@aevum.de>
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