| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
Some GInputStream may not support reading from a different thread (eg: libsoup3[0]).
So instead of reading the stream in the task thread, use the async read API
of GInputStream. Since read_async is optional (as GLib handles it if not implemented)
This shouldn't be an issue for users.
[0] https://libsoup.org/libsoup-3.0/client-thread-safety.html
|
| |
|
|
|
|
| |
Delete an extra word
Line: 55
Word: root
|
| |\
| |
| |
| |
| | |
set node->data pointer to null when unset
See merge request GNOME/json-glib!37
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Use gi-docgen links, and drop gtk-doc'isms.
|
| |\ \
| | |
| | |
| | |
| | | |
Use gi-docgen to build the API reference
See merge request GNOME/json-glib!41
|
| | | |
| | |
| | |
| | | |
The `volatile` was dropped from the GLib API, as it's useless.
|
| | | |
| | |
| | |
| | | |
We want all warnings, and we want warnings to be fatal.
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Drop `SECTION` blurbs.
Use gi-docgen syntax for internal links.
Use summary lines for gi-docgen indices.
Use Markdown syntax for code fragments.
|
| |/ |
|
| |
|
|
| |
Fixes https://gitlab.gnome.org/GNOME/json-glib/-/issues/58
|
| |
|
|
|
|
|
|
|
| |
According to JSON spec BOM shouldn't be part of the JSON data, but
also recommends to tolerate files with a BOM marker. As this is common
in several Windows JSON generators, handle it graceful in json-glib and
skip it for UTF-8 BOM.
Fixes: https://gitlab.gnome.org/GNOME/json-glib/-/issues/56
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
JSON-GLib would crash when trying to decode escaped Unicode characters, if
a character of a surrogate pair was detected but it was in the wrong range, or
if the following character was not in the correct range.
Fixed by emitting an error ("Parse error: scanner: malformed surrogate pair")
before the assertion is run.
Fixes #26.
|
| |
|
|
|
|
|
|
|
| |
Changes the comment and include to reference the file basename
instead of the full path. This ensures that the generated file is
reproducible when it is included in source packages meant for debugging.
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
|
| |
|
|
|
|
| |
Don't pretty print newlines. This requires a change in the generator
test, but the pretty printing format is not stable anyway, so we can get
away with it.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
JSON-GLib 1.2 was the last release using Autotools on Darwin, which
means we cannot use "1" as the compatibility version argument.
We should also use the `darwin_versions` argument for `library()` to let
Meson do the right thing depending on the platform, instead of passing
linker flags ourselves.
Original patch by: Tom Schoonjans
Fixes: #41
|
| |
|
|
|
|
|
|
| |
JSON can only have one top level statement. If we get multiple
statements, we should error out appropriately, and we should also avoid
leaking the node for the previously parsed statement.
Fixes: #45
|
| |
|
|
|
| |
We're leaking a bunch of strings in error paths, as well as the stream
for the input file.
|
| |
|
|
|
|
|
|
| |
The function can return NULL even without setting an error, so we need
to add a `nullable` annotation. While at it, document the handling of
empty strings more explicitly.
Fixes: #46
|
| |
|
|
|
|
|
| |
We document that it's not safe, but we kind of rely on GHashTable to do
that for us. Instead, let's use the newly added age field to protect
against accidental mutations during iteration, just like we do for the
iterator API.
|
| |
|
|
|
| |
The iteration order is the insertion order, and has been for a long
time.
|
| |
|
|
|
|
|
|
|
| |
The current iterator API does not guarantee the iteration order, as it's
based off of the hash table iterator. JsonObject, though, can guarantee
the iteration order—we do that for json_object_foreach_member().
Instead of changing the behaviour of json_object_iter_next(), we can add
API to initialize and iterate a JsonObjectIter in insertion order.
|
| |
|
|
|
| |
Both g_object_newv() and GParameter have been deprecated for a long
time.
|
| |
|
|
|
| |
The configure_file() function does not need an `install` argument with
an unconditional value.
|
| |
|
|
|
|
|
|
|
| |
Clang 11 build failed due to a new warning (part of -Werror=pointer-to-int-cast):
../json-glib/json-scanner.c:928:13: error: cast to smaller integer type 'GTokenType' from 'gpointer' (aka 'void *') [-Werror,-Wvoid-pointer-to-enum-cast]
*token_p = (GTokenType) value_p->v_symbol;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Signed-off-by: Jan Beich <jbeich@FreeBSD.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a new `json_parser_load_from_mapped_file()` to load JSON from
files via memory mapping. It’s otherwise similar to
`json_parser_load_from_file()`. It’s in the right position to be able
to memory map the file it’s reading from: it reads the input once
before building a `JsonNode` structure to represent it, doesn’t write
to the file, and often deals with large input files.
This should speed things up slightly due to reducing time spent
allocating a large chunk of heap memory to load the file into, if a
caller can support that.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
|
| |
|
|
|
|
|
| |
This introduces no functional changes, but will allow that code to be
reused in the following commit.
Signed-off-by: Philip Withnall <withnall@endlessm.com>
|
| |
|
|
|
|
|
|
| |
Don't double do the integer conversion.
Catch errors in double conversion.
Do correct unsiged conversion.
Friends don't let friends do end-of-day last minute MRs.
|
| |
|
|
|
|
|
|
|
|
| |
errno changes
This was observed as failing due to some codepath inside g_variant_new_string
setting errno to EAGAIN. Json Glib was erroneously detecting this in the checks
designed to catch string to integer conversions.
Solved by making errno only checked after the integer conversions.
|