Age | Commit message (Collapse) | Author | Files | Lines |
|
- Add more information to the documentation front page
- Document how to build the documentation
- Clarify the tutorial a bit and remove some quirks
- Bring README.rst up-to-date
- Small enhancements here and there
|
|
Signed-off-by: Petri Lehtinen <petri@digip.org>
|
|
|
|
No functional changes.
|
|
|
|
It's now an error to try to add an object or array to itself. The
encoder checks for circular references and fails with an error status
if one is detected.
|
|
|
|
|
|
|
|
Added functions:
json_string_set
json_integer_set
json_real_set
While at it, clarify the documentation and parameter naming of
json_{string,integer,real}_value() a bit.
|
|
Thanks to Adam Strzelecki for reporting.
|
|
Conflicts:
configure.ac
doc/conf.py
|
|
|
|
Because of a typo in test/testprogs/Makefile.am, the tests for object
were never compiled or run.
|
|
It doesn't have to be in version control.
|
|
Added functions:
json_object_size
json_object_clear
json_object_update
|
|
Because of a typo in test/testprogs/Makefile.am, the tests for object
were never compiled or run.
|
|
A segfault was caused by NULL key.
|
|
It doesn't have to be in version control.
|
|
These were left out from the previous commit.
|
|
Linux on powerpc seems to be one such platform.
|
|
From 2.63 to 2.59, which is more widely supported.
|
|
Added functions:
json_array_insert
json_array_insert_new
json_array_remove
json_array_clear
json_array_extend
|
|
|
|
Conflicts:
configure.ac
doc/conf.py
|
|
|
|
Backported from master, commit 5406c2b3d347505149d382213b6f318f8c35de6a:
* deleted test/testdata/invalid-stripped because the stripped tests
don't exist in 1.0
|
|
Backported from master, commit 9d16ec755c9754fe1f79fe55ab719a7f8578ce37
|
|
|
|
Some day we will have ANSI C compatibility... This change doesn't make
the API backwards incompatible because uint32_t was only used in flags
to json_dump*() and the flags are meant to be used only by ORing
constants and macro output, and actually currently only JSON_INDENT
can be used.
|
|
|
|
That is, test cases where there's no newline or other whitespace at
the beginning or end of input. This was implemented by adding a
--strip option to split-testfile to strip the input file after writing
it.
The actual test JSON texts are the same as testdata/invalid and
testdata/valid. The expected output of the invalid cases had to be
adjusted a bit: because there's no newline at the end, some of the
line numbers needed to be changed.
|
|
Conflicts:
configure.ac
doc/conf.py
|
|
|
|
|
|
In stream_get(), EOF never got it to stream->buffer and because of
this, stream_unget() failed on some situations. This patch makes
stream_get() handle EOF just like any other byte.
As a "side effect", lex_scan_string() now needs to unget the EOF, or
otherwise it ends up in error message on premature end of input.
|
|
This makes their constructors thread safe. A special reference count
-1 is used to test whether to perform reference counting on a value or
not.
|
|
|
|
Constructors are described more clearly and return values on error
situations more compehensively. Also add an example of the object
iteration protocol.
|
|
All pointer arguments are now tested for NULL. json_string() now also
tests that strdup() succeeds. This is to ensure that no NULL values
end up in data structures.
Also desribe the different sources of errors in documentation.
|
|
It's not needed.
|
|
|
|
Now all public API functions are tested (at least on some level) in
the test-api suite.
|
|
Conflicts:
configure.ac
doc/conf.py
|
|
|
|
|
|
json_is_true was spelled jsin_is_true. Quite fatal.
|
|
Don't alloca() a whitespace buffer and fill it with spaces in each
call to dump_indent. Instead, use a static whitespace buffer.
As a bonus, this saves the use of poorly portable alloca().
|
|
By "stealing" the string parsed out in lexer, one strdup can be saved.
|
|
It is not needed.
|