4271 Commits

Author SHA1 Message Date
Simon McVittie
fa4792c35e various tests: do not provoke SIGTRAP with -m no-undefined
Some of the GLib tests deliberately provoke warnings (or even fatal
errors) in a forked child. Normally, this is fine, but under valgrind
it's somewhat undesirable. We do want to follow fork(), so we can check
for leaks in child processes that exit gracefully; but we don't want to
be told about "leaks" in processes that are crashing, because there'd
be no point in cleaning those up anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=666116
2011-12-27 17:51:09 -05:00
Simon McVittie
5cb29d7909 Clarify documentation of fast/slow/thorough and quiet/verbose tests
It turns out that there is no middle setting between fast and
slow/thorough, but there *is* a middle setting between quiet and verbose.

https://bugzilla.gnome.org/show_bug.cgi?id=666116
2011-12-27 17:51:04 -05:00
Matthias Clasen
8cea99741b Don't put documentation in glibconfig.h 2011-12-27 16:22:13 -05:00
Matthias Clasen
4576a459fc Remove obsolescent AC_HEADER_STDC macro
We only used the resulting define in one place, and really,
these headers just have to be around or its not worth trying.
2011-12-27 15:55:04 -05:00
Thomas Hindoe Paaboel Andersen
49a4de3ea4 docs: g_atexit: do not point in a direction for where to find details
https://bugzilla.gnome.org/show_bug.cgi?id=666804
2011-12-27 10:18:41 -05:00
Benjamin Otte
c4fc258424 docs: Clarify non-NUL requirement in g_utf8_validate()
UTF8 validation is not about your character on a dating site, so don't
talk about meeting.

https://bugzilla.gnome.org/show_bug.cgi?id=666803
2011-12-24 14:26:24 +01:00
rodrigorivascosta
1b03377442 Bug 666551-Fix a few dangling pointers
When removing an item from the list, check the next one's my_owner,
and fix it accordingly. And take this case into account when last
of the list is deleted.

Also, assign NULL to 'my_owner' in g_thread_xp_WakeConditionVariable.
2011-12-22 10:51:31 +08:00
Chun-wei Fan
76bc1ab280 glib/tests/private.c: Fix compilation on Windows
-process.h must be included for _beginthreadex
-Use a cast to HANDLE on _beginthreadex to silence warnings on different
 types
2011-12-22 10:39:05 +08:00
Ryan Lortie
541693f42d winxp threads: fix some condition variable races
There are some races in the condition variable emulation code for
Windows XP with respect to timeouts while waiting.

First, in the event of a timeout, we never remove the waiter from the
condition variable.  This can cause crashes later.  That problem was
found by Rodrigo Rivas Costa.

Second, if the waiting thread times out and exits just as we were about
to call SetEvent() on its waiter event, we could end up trying to access
the waiter after it was closed/freed.  We need to hold on to the lock a
little bit longer to ensure that that's not possible.

https://bugzilla.gnome.org/show_bug.cgi?id=666551
2011-12-19 17:40:08 -05:00
Ryan Lortie
11015f1652 windows XP threads: fix hilariously obvious race
I tried to do a double-checked lock without the double check.

Rodrigo Rivas Costa caught the problem and suggested the (obviously
correct) fix.

https://bugzilla.gnome.org/show_bug.cgi?id=666296
2011-12-16 10:54:42 -05:00
Ravi Sankar Guntur
1d4009e6f7 Added API g_queue_free_full().
g_queue_free_full(), to free a Queue including its dynamically-allocated elements.
On similar lines to List and Slist.

void  g_queue_free_full  (GQueue  *queue,  GDestroyNotify    free_func);

Test case covering g_queue_free_full() is added.
Added export symbol to glib.symbols.

Closes Bug: https://bugzilla.gnome.org/show_bug.cgi?id=657433

Signed-off-by: Ravi Sankar Guntur <ravi.g@samsung.com>
2011-12-16 09:51:16 -05:00
Stef Walter
14fb10d14b GBytes: add a size argument to g_bytes_get_data
* An out size argument so that this is more easily bindable
   by gobject-introspection.

https://bugzilla.gnome.org/show_bug.cgi?id=665879
2011-12-15 07:22:37 +01:00
Simon McVittie
e129deb017 g_array_free, g_ptr_array_free: decrement refcount if not the last ref
foo_free is conceptually "worth" one unref; not decrementing the
refcount here means the GArray or GPtrArray wrapper (but not its
contents) would leak in the following call sequence:

    p = g_ptr_array_new ();
    g_ptr_array_ref (p);
    g_ptr_array_free (p, TRUE);
    g_ptr_array_unref (p);

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-14 18:10:31 +00:00
Simon McVittie
df9d9cc72f GArray, GPtrArray: factor out the actual freeing
Depending how the array is freed, we may want to free the underlying
array (the "segment"), the struct wrapper or both.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-14 18:10:25 +00:00
Simon McVittie
6457677b7d g_key_file_get_string_list: don't leak the pieces on error
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-14 18:09:48 +00:00
Ryan Lortie
a2e9318d4a two test fixes for ARM
First, some ARM systems are not fast enough to meet the 30 second
deadline in gwakeuptest.c, so increase that to 60.

Second, we have some signed/unsigned woes in the gparam transform tests.
2011-12-14 09:33:30 -05:00
Simon McVittie
f6b2847e57 hash test: avoid leaking various keys and values
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666115
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
2011-12-14 12:40:57 +00:00
Simon McVittie
5dca72fe67 GOptionContext test: free all arguments, not just the remaining ones
On success, g_option_context_parse alters argv by removing options that
it understood, so g_strfreev is insufficient. Instead, take a shallow
copy and free all of the arguments in that, then free the array argv
but not its contents.

Also, improve the checks in error cases, by checking that argv has
not been altered in this way.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666115
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
2011-12-14 12:40:39 +00:00
Simon McVittie
29f2ced8eb various GLib tests: plug memory leaks
These don't really matter, since it's test code, but they do obscure
real leaks in the library.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666115
Acked-by: Matthias Clasen <mclasen@redhat.com>
2011-12-14 12:40:16 +00:00
Simon McVittie
93f8f8158f g_variant_byteswap: don't leak serialised.data
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
2011-12-14 12:26:17 +00:00
Simon McVittie
c49a4dba82 g_data_set_internal: avoid use-after-free if datalist is in dataset
Removing the last thing in a dataset frees the dataset, and if the
datalist was in a dataset, we can't safely unlock it after the dataset
has been freed. Unlock it sooner.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
2011-12-14 12:26:17 +00:00
Simon McVittie
0bf8378840 g_strcompress: check that source is non-NULL rather than just crashing
Calling this function with a NULL argument is considered to be invalid,
but one of the regression tests does it anyway (to watch it crash), which
seems a good indication that it's expected to be somewhat common.
Let's check it rather than segfaulting.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
Reviewed-by: Matthias Clasen <mclasen@redhat.com>
2011-12-14 12:26:17 +00:00
Simon McVittie
90baa7e460 GKeyFile: free group comments when the group is removed
These were leaked. Valgrind was sad.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-14 12:26:16 +00:00
Simon McVittie
9ddb2f8091 g_hmac_get_string: don't allocate and leak an unused buffer
Also document why we're not actually using the buffer for anything.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-14 12:26:16 +00:00
Simon McVittie
64ca85ceae g_hmac_copy: initialize the refcount
In practice, the uninitialized refcount will typically mean that the copy is
never freed, and leaks.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=666113
Reviewed-by: Emmanuele Bassi <ebassi@linux.intel.com>
2011-12-14 12:26:16 +00:00
Matthias Clasen
edfab83c07 Add an explicit deprecation note to g_thread_init
https://bugzilla.gnome.org/show_bug.cgi?id=666145
2011-12-14 07:16:45 -05:00
Stef Walter
7e92997539 documentation fixes
Fixes for gtk-doc warnings.

http://bugzilla.gnome.org/show_bug.cgi?id=66469

https://bugzilla.gnome.org/show_bug.cgi?id=664699
2011-12-13 23:01:51 -05:00
Matthias Clasen
042954de9f Fix since tag 2011-12-10 21:49:10 -05:00
Ryan Lortie
a8927732c9 GDate: gtk-doc fixup 2011-12-10 14:09:54 -05:00
Philip Withnall
386bb0faad unicode: Fix a few issues with G_UNICHAR_MAX_DECOMPOSITION_LENGTH
Raised by Matthias in bgo#665685 but which I didn't spot until after pushing
commit 3ac7c35656649b1d1fcf2ccaa670b854809d4cd8.

Renames G_UNICHAR_MAX_DECOMPOSITION_LEN to G_UNICHAR_MAX_DECOMPOSITION_LENGTH
and fixes a few documentation issues.

See: bgo#665685
2011-12-06 19:41:31 +00:00
Philip Withnall
3ac7c35656 Bug 665685 — Add a #define for the max length of a Unicode decomposition
Add G_UNICHAR_MAX_DECOMPOSITION_LEN for the maximum length of the
decomposition of a single Unicode character.

Closes: bgo#665685
2011-12-06 19:09:01 +00:00
Behdad Esfahbod
10a154446c Minor doc fix. 2011-12-06 13:20:39 -05:00
Behdad Esfahbod
91fb373d55 Minor 2011-12-06 13:19:27 -05:00
Philip Withnall
22da18fa70 GVariant: add preconditions to ref. counting functions
These prevent GVariants from accidentally being brought back to life after
being freed, and should make it easier to track down ref. counting issues.

Closes: bgo#665184
2011-12-02 10:23:14 +00:00
Matthias Clasen
b13e79da62 Don't abort if g_ascii_strtod tests fail
https://bugzilla.gnome.org/show_bug.cgi?id=652560
2011-11-29 22:54:45 -05:00
Geek87
22748dbbc9 Remove two useless lines of code
https://bugzilla.gnome.org/show_bug.cgi?id=648516
2011-11-29 22:16:53 -05:00
Geek87
27e70806c1 Fix a little comment error in the _GTreeNode struct
https://bugzilla.gnome.org/show_bug.cgi?id=648516
2011-11-29 22:16:52 -05:00
Carlos Garcia Campos
4ce5a11daf gtester: Add command line option to skip tests
https://bugzilla.gnome.org/show_bug.cgi?id=664809
2011-11-27 14:33:47 +01:00
Stef Walter
fcc69fd318 GBytes: A new type for an immutable set of bytes.
* Represents an immutable reference counted block of memory.
 * This is basically the internal glib GBuffer structure exposed,
   renamed, and with some additional capabilities.
 * The GBytes name comes from python3's immutable 'bytes' type
 * GBytes can be safely used as keys in hash tables, and have
   functions for doing so: g_bytes_hash, g_bytes_equal
 * GByteArray is a mutable form of GBytes, and vice versa. There
   are functions for converting from one to the other efficiently:
   g_bytes_unref_to_array() and g_byte_array_free_to_bytes()
 * Adds g_byte_array_new_take() to support above functions

https://bugzilla.gnome.org/show_bug.cgi?id=663291
2011-11-24 08:58:38 +01:00
Matthias Clasen
1b01109377 Add some more mainloop tests 2011-11-22 23:57:18 -05:00
Matthias Clasen
d0e2865a2e Remove unnecessary includes
These were meant for some other test that ended up not getting
added. This fixes bug 664559.
2011-11-22 19:31:30 -05:00
Matthias Clasen
6dde6b7f21 Add back required _XOPEN_SOURCE define
This got lost somewhere between 2.30 and now, but it is needed
for isnan(). See bug 664354, reported by Tim Mooney.
2011-11-22 19:12:48 -05:00
Ryan Lortie
0f1fb417bf Missed a couple of @returns 2011-11-21 11:39:52 -05:00
Ryan Lortie
0e0554bd62 GVariant: drop use of @returns 2011-11-21 11:33:21 -05:00
Matthias Clasen
4527e7cbf7 gbitlock: Drop @returns syntax from doc comments 2011-11-21 11:09:42 -05:00
Matthias Clasen
22d3972284 GBuffer: Drop @returns syntax from doc comments 2011-11-21 11:05:43 -05:00
Matthias Clasen
ef4ae742ce Improve test coverage 2011-11-21 01:53:29 -05:00
Matthias Clasen
89ad8bda23 Improve mainloop test coverage slightly 2011-11-21 01:40:51 -05:00
Matthias Clasen
b0fa096870 Improve test coverage 2011-11-21 01:02:50 -05:00
Matthias Clasen
0fd14b1a56 Fix a case conversion bug
For titlecase chars without uppercase variant, we were returning
0, contrary to the docs.
2011-11-21 00:28:41 -05:00