summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2014-11-29 11:21:07 -0800
committerJohn MacFarlane <jgm@berkeley.edu>2014-11-29 11:21:07 -0800
commit3ff8fab34651e9acdc14be8cd0cbdd9df01004b2 (patch)
treee58fd1b5d226e4acc05eb2418f3d455cea9621dd /src/main.c
parentc8a2c3df72132c8eb683d5373f10b4d99964b316 (diff)
parent46ec4da981af45591d25cb54c47a0afd061306c2 (diff)
Merge pull request #225 from nwellnhof/push_parser
Push parser interface
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/src/main.c b/src/main.c
index 3a7ea4c..87cc151 100644
--- a/src/main.c
+++ b/src/main.c
@@ -35,7 +35,7 @@ int main(int argc, char *argv[])
int *files;
char buffer[4096];
cmark_parser *parser;
- size_t offset;
+ size_t bytes;
cmark_node *document;
parser = cmark_parser_new();
@@ -69,9 +69,8 @@ int main(int argc, char *argv[])
}
start_timer();
- while (fgets((char *)buffer, sizeof(buffer), fp)) {
- offset = strlen((char *)buffer);
- cmark_parser_process_line(parser, buffer, offset);
+ while ((bytes = fread(buffer, 1, sizeof(buffer), fp)) > 0) {
+ cmark_parser_push(parser, buffer, bytes);
}
end_timer("processing lines");
@@ -85,9 +84,8 @@ int main(int argc, char *argv[])
exit(0);
*/
- while (fgets((char *)buffer, sizeof(buffer), stdin)) {
- offset = strlen((char *)buffer);
- cmark_parser_process_line(parser, buffer, offset);
+ while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0) {
+ cmark_parser_push(parser, buffer, bytes);
}
}