diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/blocks.c | 3 | ||||
| -rw-r--r-- | src/main.c | 6 | 
2 files changed, 9 insertions, 0 deletions
| diff --git a/src/blocks.c b/src/blocks.c index 5d11710..4a0a228 100644 --- a/src/blocks.c +++ b/src/blocks.c @@ -435,6 +435,9 @@ cmark_node *cmark_parse_file(FILE *f)  	while ((bytes = fread(buffer, 1, sizeof(buffer), f)) > 0) {  		bool eof = bytes < sizeof(buffer);  		S_parser_feed(parser, buffer, bytes, eof); +		if (eof) { +			break; +		}  	}  	document = cmark_parser_finish(parser); @@ -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; +			}  		}  	} | 
