Take advantage of our knowledge that GVariant strings are always valid
utf8 when printing and parsing:
- allow valid printing unicode characters to pass through unescaped
- escape non-printing characters using \uxxxx or \Uxxxxxxxx format
- do the same in the parser
- update existing test cases to use utf8, add a new test case
Partial-backout 8a21d8d23317ecebe46007f1fd5f7459bf182415. The
assertions should have remained relaxed since these functions are used
with non-posix_memalign()ed data.
The GVariant serialiser works well with non-8-aligned memory, but the
comparison serialiser in the test case depends on memory being
8-aligned. Use posix_memalign() to get the memory used by this
serialiser.
- modify serialiser validation function to enforce utf8 encoding
- add documentation to g_variant_new_string(), g_variant_get_string(),
g_variant_dup_string()
- add 2 new test cases to check that it works
NaN floating point values get mangled when passing across the function
call ABI on x86 so avoid using them to get rid of spurious failures.
Reported by Christian Persch and reliably reproduced by Emilio Pozuelo
Monfort.
Merge GVariant variable arguments support and put it under tests.
Also, remove the hack of the test case directly '#include'ing .c files
from glib/. Instead, create a non-installed gvariant-internal.h that
the tests can include and make the symbols in it visible on the symbol
table of the shared library. These symbols (as they are present in no
installed header files) are not part of the API of GLib.
Increase test coverage in a few other areas.
Fixes: Bug 568760 - nautilus freezes due to a bug in garray.c:322
* glib/garray.c: increase the size of potential return values by
using an unsigned result; properly check if we still handle valid size
proposals, return the original request if there's no usable size left
* tests/array-test.c: reproduce the error condition of the bug report
One of the option context tests relied on the ability to
call g_set_pgrname() more than once. Thats no longer possible
(without incurring a warning that wrecks the test).
Implement g_test_log_set_fatal_handler which is a function similar to
g_log_set_default_handler but for use in unit tests where certain
errors have to be ignored because it is not possible to fix or avoid
them otherwise. A unit test is added.
Functions for converting between UTF-8 IDNs (Internationalized Domain
Names) and their ASCII-Compatible Encodings, plus a function to recognize
IP addresses. Part of #548466.