Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
Fixes #545
|
|
Add support getn, setn functions
|
|
Fix size_t related MSVC compiler warnings
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Maxim Zhukov <mussitantesmortem@gmail.com>
|
|
Signed-off-by: Maxim Zhukov <mussitantesmortem@gmail.com>
|
|
This commit added functions working with fixed-size strings (non null-terminated also).
It's helpful for the following cases:
* getting key from substring without copying to separate buffer (better perfomance)
* using pure UTF-8 keys for the objets
* hack: set binary structs as the keys (see test_binary_keys)
added functions:
* json_object_getn
* json_object_setn
* json_object_setn_nocheck
* json_object_setn_new
* json_object_setn_new_nocheck
* json_object_deln
* json_object_iter_key_len
added iterators:
* json_object_keylen_foreach
* json_object_keylen_foreach_safe
Signed-off-by: Maxim Zhukov <mussitantesmortem@gmail.com>
|
|
Use key length for internal API
Signed-off-by: Maxim Zhukov <mussitantesmortem@gmail.com>
|
|
Signed-off-by: Maxim Zhukov <mussitantesmortem@gmail.com>
|
|
Fix couple of typos
|
|
"This sections describes" -> "This section describes"
|
|
Lift "Depth of nested values" to a higher level
|
|
Currently this section is under "Numbers" which seems to be wrong.
|
|
doc: compatibility with Sphinx-3
|
|
The Sphinx-3.0 c:function:: directive requires the return type.
Sphinx-3.0 also adds function-like macro support to the c:macro::
directive, which Sphinx-1.x and Sphinx-2.x do not support, but it
is probably a good idea to keep compatibility with slightly older
Sphinx for now.
|
|
Use double-backtick quoting instead. It has the same effect
(because these links had nowhere to link to) but it does not
result in loud warnings about broken references by default with Sphinx-3.x.
|
|
Directive functions are no longer supported in Sphinx-3.0
but directive classes have been supported since early 1.x
|
|
build: Add a symbol version to all exported symbols
|
|
The --default-symver linker option attaches a default version definition
(the SONAME) to every exported symbol. It is supported since at least
GNU binutils 2.22 in 2011 (older versions not tested).
With this version definition, newly-linked binaries that depend on the
jansson shared library will refer to its symbols in a versioned form,
preventing their references from being resolved to a symbol of the same
name exported by json-c or json-glib if those libraries appear in
dependency search order before jansson, which will usually result in
a crash. This is necessary because ELF symbol resolution normally uses
a single flat namespace, not a tree like Windows symbol resolution.
At least one symbol (json_object_iter_next()) is exported by all three
JSON libraries.
Linking with -Bsymbolic is not enough to have this effect in all cases,
because -Bsymbolic only affects symbol lookup within a shared object,
for example when parse_json() calls json_decref(). It does not affect
calls from external code into jansson, unless jansson was statically
linked into the external caller.
This change will also not prevent code that depends on json-c or
json-glib from finding jansson's symbols and crashing; to prevent
that, a corresponding change in json-c or json-glib would be needed.
Adding a symbol-version is a backwards-compatible change, but once
added, removing or changing the symbol-version would be an incompatible
change that requires a SONAME bump.
Resolves: https://github.com/akheron/jansson/issues/523
(when combined with an equivalent change to json-c).
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
Handle vsnprintf corner cases.
|
|
The function vsnprintf returns a negative value on error, e.g. on
an invalid format. It's best to return NULL in such a case.
Also avoid a signed integer overflow if vsnprintf returns INT_MAX.
This is undefined behaviour in C and has to be avoided.
A negative value is returned with a call like:
json_sprintf("%111111111111111s", "", "");
INT_MAX is returned with a call like:
json_sprintf("%647s%2147483000s", "", "");
|
|
|
|
add `scripts` directory to EXTRA_DIST
|
|
add jansson_* to shared library exports
|
|
|
|
|
|
|
|
Update apiref.rst
|
|
|
|
add MinGW build guideline and tips to disable building docs
|
|
|
|
add changes since v2.12
|
|
|
|
|
|
Format code with clang-format
|
|
|
|
|
|
|
|
|
|
Set ColumnLimit to 90, remove AllowShortCaseLabelsOnASingleLine.
|
|
|
|
|
|
|
|
|
|
|