]> granicus.if.org Git - jq/commitdiff
Add flags argument to jv_parser_new()
authorNicolas Williams <nico@cryptonector.com>
Wed, 4 Jun 2014 23:17:27 +0000 (18:17 -0500)
committerNicolas Williams <nico@cryptonector.com>
Wed, 4 Jun 2014 23:35:30 +0000 (18:35 -0500)
For extensibility.  We might add streaming parser options, even binary
JSON encoding options.

jv.h
jv_file.c
jv_parse.c
main.c

diff --git a/jv.h b/jv.h
index 33a69826cb2fc36a3278f8e89e3b3a29802382d9..01c1bb62380ad28c2b4da1d1a4cda9f0fcf18fca 100644 (file)
--- a/jv.h
+++ b/jv.h
@@ -140,7 +140,7 @@ void jv_nomem_handler(jv_nomem_handler_f, void *);
 jv jv_load_file(const char *, int);
 
 struct jv_parser;
-struct jv_parser* jv_parser_new();
+struct jv_parser* jv_parser_new(int);
 void jv_parser_set_buf(struct jv_parser*, const char*, int, int);
 jv jv_parser_next(struct jv_parser*);
 void jv_parser_free(struct jv_parser*);
index 54ed36bede2855594693e0a8aaeb450d3bdc9c61..a633160738bb4b3c45c4f65efdec1d361ea6574a 100644 (file)
--- a/jv_file.c
+++ b/jv_file.c
@@ -18,7 +18,7 @@ jv jv_load_file(const char* filename, int raw) {
     data = jv_string("");
   } else {
     data = jv_array();
-    parser = jv_parser_new();
+    parser = jv_parser_new(0);
   }
   while (!feof(file) && !ferror(file)) {
     char buf[4096];
index cc1e7b96c8f2ecc74a80d796ebd1d422925589ab..5b703fd712b056501ff8d8c4f6f499171302b02f 100644 (file)
@@ -370,7 +370,7 @@ static pfunc scan(struct jv_parser* p, char ch, jv* out) {
   return answer;
 }
 
-struct jv_parser* jv_parser_new() {
+struct jv_parser* jv_parser_new(int flags) {
   struct jv_parser* p = jv_mem_alloc(sizeof(struct jv_parser));
   parser_init(p);
   return p;
diff --git a/main.c b/main.c
index b0b4a3b048e6396a8eb1b020ad6e9c10db9a5a08..066cc7e3c1d799e8b3f9a9be18554678e153e7f9 100644 (file)
--- a/main.c
+++ b/main.c
@@ -280,7 +280,7 @@ int main(int argc, char* argv[]) {
         slurped = jv_array();
       }
     }
-    struct jv_parser* parser = jv_parser_new();
+    struct jv_parser* parser = jv_parser_new(0);
     char buf[4096];
     while (read_more(buf, sizeof(buf))) {
       if (options & RAW_INPUT) {