Commit Graph
23 Commits
Author SHA1 Message Date
Stephen Dolan cbdeddbab8 Make the code compile with warnings-as-errors.
-Wextra found a bona-fide bug: signed/unsigned comparison in a
stack overflow check.
2012-09-17 22:04:58 +01:00
Stephen Dolan 9c15ad2021 Support rendering a JSON value to a string buffer. 2012-09-17 20:11:12 +01:00
Stephen Dolan 84ea129f26 Better support for appending strings in JV. 2012-09-17 19:41:41 +01:00
Stephen Dolan 51a44edc63 JSON stream parser.
Allow multiple values on input as concatenated JSON objects,
possibly separated by whitespace.
2012-09-11 14:52:10 +01:00
Stephen Dolan 4c7bede5a4 Better error handling and messages for invalid index/assign operations. 2012-09-11 10:37:44 +01:00
Stephen Dolan 65ce73deb4 String concatenation. 2012-09-10 16:16:39 +01:00
Stephen Dolan e718bd50b6 Sensible error messages when a silly addition is performed.
Fix a test to no longer perform an invalid addition.
2012-09-10 16:15:05 +01:00
Stephen Dolan a3e509034b jv_string_fmt (create printf-formatted JSON strings) 2012-09-10 16:01:56 +01:00
Stephen Dolan 0159c0ecc5 Plug a memory leak in jv_object_merge 2012-09-10 15:08:58 +01:00
Stephen Dolan 649cac791a Make jv_invalid() first-class values capable of holding an error. 2012-09-10 15:04:19 +01:00
Stephen Dolan 5c25c90657 When comparing two objects for equality, we don't need to recurse
into e.g. array elements if the two objects are the same array.
2012-09-10 13:06:46 +01:00
Stephen Dolan e258d20ba2 Make the '+' operator merge objects. 2012-09-09 19:17:07 +01:00
Stephen Dolan a4ff3d4670 Bugfix for expanding objects. 2012-09-09 18:09:05 +01:00
Stephen Dolan 520c7bb15e Fix some confusion between "null" and "invalid". 2012-09-03 17:26:52 +01:00
Stephen Dolan 32e324a283 Fix a memory leak in JV and add more tests 2012-09-03 17:18:10 +01:00
Stephen Dolan eea05ff924 Perl-style autovivification.
.foo.bar = 1 will cause objects to be created if they don't exist.
2012-09-03 16:50:38 +01:00
Stephen Dolan a8c3648ca5 JV_KIND_INVALID values to represent failed lookups, etc + various tests. 2012-09-03 16:16:14 +01:00
Stephen Dolan 4f747e6fff Move from Jansson to JV - proper freeing of memory
A few more tests, now passes valgrind.
2012-09-02 21:45:52 +01:00
Stephen Dolan f72c5ffac0 Move from Jansson to JV - interpreter loop
Passes tests, but leaks some memory.
2012-09-02 17:20:13 +01:00
Stephen Dolan 2cb9a6e61d Move from Jansson to JV - everything but the interpreter loop
Passes valgrind --leak-check=full.
2012-09-02 16:31:59 +01:00
Stephen Dolan 22f8aed31e Validation for empty objects
Now (correctly) fails to parse {,}
2012-09-02 00:24:23 +01:00
Stephen Dolan 92654f8204 Fix a memory leak when inserting into an object with an already-present key 2012-09-01 18:24:17 +01:00
Stephen Dolan 463b175cdb Reference-counted copy-on-write JSON library.
Comes with tests and, presumably, bugs.
2012-08-28 18:09:43 +01:00