fix leak that occurs when multiple mount entries match the requested path
[platform/upstream/glib.git] / ChangeLog
1 2008-12-12  Ryan Lortie  <desrt@desrt.ca>
2
3         * gio/gunixmounts.c (g_unix_mount_at): fix leak that occurs when
4         multiple mount entries match the requested path
5
6 2008-12-12  Behdad Esfahbod  <behdad@gnome.org>
7
8         * glib/guniprop.c: Improve g_unichar_iswide_cjk() docs.
9
10 2008-12-07  Matthias Clasen  <mclasen@redhat.com>
11
12         Bug 508021 – Add support for the CRIS and CRISv32 architectures
13
14         * configure.in: 
15         * glib/gatomic.c: Add an implementation for the CRIS and CRISv32 
16         architectures, by Peter Kjellerstedt
17
18 2008-12-02  Matthias Clasen  <mclasen@redhat.com>
19
20         * glib/gkeyfile.c: Some more documentation additions.
21
22 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
23
24         * configure.in: Bump version
25
26 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
27
28         * === Released 2.19.2 ===
29
30 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
31
32         * configure.in: Bump version
33
34 2008-12-01  Matthias Clasen  <mclasen@redhat.com>
35
36         * === Released 2.19.1 ===
37
38         * NEWS: Updates
39
40 2008-11-28  Behdad Esfahbod  <behdad@gnome.org>
41
42         Bug 562639 – g_parse_debug_flags() parsing "help"
43
44         * glib/gutils.c (g_parse_debug_string): Print available keys if
45         string is "help".
46
47 2008-11-28  Behdad Esfahbod  <behdad@gnome.org>
48
49         Bug 562638 – GDebugKey key member should be const
50
51         * glib/gutils.h: Change GDebugKey key member from gchar * to
52         const gchar *.
53
54 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
55
56         Bug 547264 – Missing "no flags" flag
57
58         * glib/gregex.c: Mention 0 as value for 'no flags' in some places..
59         Pointed out by Bastien Nocera
60
61 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
62
63         Bug 562544 – g_key_file_get_string and g_key_file_get_value
64         documentation does not explain the difference
65
66         * glib/gkeyfile.c (g_key_file_get_string): Explain the difference
67         to g_key_file_get_value(). Pointed out by Mart Raudsepp.
68
69 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
70
71         * glib/gkeyfile.c: Refer to @locale parameters as locale identifier
72         in docs.
73
74 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
75
76         Bug 557603 – carbon check output misplaced
77
78         * configure.in: Call AC_PROG_CPP early to avoid it messing up
79         carbon check output. Fix proposed by Christian Persch
80
81 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
82
83         Bug 559110 – Do not include libintl.h after glibintl.h
84
85         * glib/glibintl.h: Define bind_textdomain_codeset in the DISABLE_NLS
86         branch. Patch by Peter Kjellerstedt.
87
88         * glib/gutil.c: Don't include libintl.h directly.
89
90 2008-11-28  Matthias Clasen  <mclasen@redhat.com>
91
92         Bug 562378 – callback return value not respected for callback option
93         with no arg
94
95         * glib/goption.c (parse_long_option): Return the parse_arg return
96         value even for no-arg callbacks. Patch by Christian Persch
97
98         * glib/tests/option-context.c: Add a test for a callback which
99         returns FALSE.
100
101 2008-11-23  Christian Persch  <chpe@gnome.org>
102
103         Bug 559413 – g_option_group_set_error_hook docs buglet
104
105         * glib/goption.c: Doc fix.
106
107 2008-11-23  Christian Persch  <chpe@gnome.org>
108
109         Bug 560568 – gkeyfile docs buglet
110
111         * glib/gkeyfile.c: Clarify the docs.
112
113 2008-11-23  Christian Persch  <chpe@gnome.org>
114
115         Bug 560569 – gkeyfile doesn't use the set list_separator in some cases
116
117         * glib/gkeyfile.c: (g_key_file_get_locale_string_list),
118         (g_key_file_set_locale_string_list), (g_key_file_set_integer_list),
119         (g_key_file_set_double_list): Use the key file's list separator character,
120         not the default one.
121
122         * glib/tests/keyfile.c: (test_lists), (test_reload_idempotency): Test
123         this.
124
125 2008-11-21  Christophe Fergeau <teuf@gnome.org>
126
127         Bug 561212 – GFileReadMoreCallback API doc refers to non-existant function
128
129         * gio/giotypes.h: fix name of function referred to in
130         GFileReadMoreCallback API documentation
131
132 2008-11-21  Matthias Clasen <mclasen@redhat.com>
133
134         * configure.in: Bump gtk-doc dependency to 1.11 for
135         nicer index-generation.
136
137 2008-11-14  Matthias Clasen <mclasen@redhat.com>
138
139         * NEWS: Updates
140
141 2008-11-04  Christian Dywan  <christian@imendio.com>
142
143         Bug 558672 – NULL key lookup using g_hash_table_lookup_extended()
144
145         * glib/ghash.c:
146         Clarify g_hash_table_lookup_extended
147
148 2008-11-02  Tor Lillqvist  <tml@novell.com>
149
150         * configure.in: Expand also build/win32/vs9/Makefile.
151
152 2008-10-31  Christian Dywan  <christian@imendio.com>
153
154         Bug 558513 – g_warn_if_fail FIXME in gtestutils
155
156         * glib/gtestutils.c (g_test_log_send):
157         Turn g_assert into g_warn_if_fail as advised
158
159 2008-10-31  Grahame Bowland  <grahame@angrygoats.net>
160
161         Bug 558185 – 'parent' variable in g_local_file_get_child_for_display_name() 
162         hits g_object_unref(NULL) assertion
163
164         * gio/glocalfile.c: 
165         - remove unused variable. Patch by Matt Johnston <matt@ucc.asn.au>
166
167 2008-10-29 16:11:14  Tim Janik  <timj@gtk.org>
168
169         * glib/gmacros.h: added G_PASTE() and G_STATIC_ASSERT(), based on
170         patches by Christian Persch and Christian Dywan. Fixes:
171         Bug 558381 - Add support for compile time assertions
172
173 2008-10-27  Joseph Pingenot  <gnomesvn@digitasaru.net>
174
175         * glib/ghash.c: changed "#GHashTableIterator" to "#GHashTableIter"
176         in the documentation-comments above g_hash_table_foreach_remove()
177         and g_hash_table_foreach_steal() to correctly name and link to
178         GHashTableIter.  This affects the GNOME documentation website
179         as well, so further steps are likely necessary beyond this subproject..
180
181 2008-10-23 Matthias Clasen <mclasen@redhat.com>
182
183         Bug 557210 – g_compute_checksum_for_* asserts with less than 2 bytes
184
185         * glib/gchecksum.c (g_compute_checksum_for_data): Accept 
186         lengths < 2. Patch by Tommi Komulainen
187
188         * tests/checksum-test.c: Add a test for this
189
190 2008-10-23 Matthias Clasen <mclasen@redhat.com>
191
192         Bug 556921 – gpoll.h breaks hal compilation
193
194         * glib/gpoll.h: Include gtypes.h. Pointed out by Anis Elleuch
195
196 2008-10-20 Christian Persch <chpe@gnome.org>
197
198         Bug 557087 – mem leak in g_content_types_get_registered
199                 
200         * gio/gcontenttype.c: Plug a mem leak.
201
202 2008-10-19  Michael Natterer  <mitch@imendio.com>
203
204         Bug 556186 – gpoll.h breaks gmain.h inclusion
205
206         * glib/gpoll.h: different fix: disallow direct inclusion
207         unconditionally again but make an exception if included from
208         gmain.h to maintain compatibility.
209
210 2008-10-16  Matthias Clasen <mclasen@redhat.com>
211
212         * configure.in: Bump version to 2.19.1
213
214         * === Released 2.19.0 ===
215
216         * NEWS: Updates
217
218 2008-10-14  Christian Persch <chpe@gnome.org>
219
220         Bug 556186 – gpoll.h breaks gmain.h inclusion
221
222         * glib/gpoll.h: Only disallow direct inclusion when
223         G_DISABLE_SINGLE_INCLUDES is defined.
224
225 2008-10-13  Sven Herzberg  <sven@imendio.com>
226
227         Bug 556101 – static mutex yields warnings with g++
228         Reviewed by Tim Janik
229
230         * configure.in: added an intermediate cast to gpointer
231
232 2008-10-13  Christian Persch <chpe@gnome.org>
233
234         Bug 555311 – format not a string literal and no format arguments
235
236         * glib/gmarkup.c:
237         * glib/gshell.c: Use literal errors where appropriate.
238
239 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
240
241         Bug 551355 – [PATCH] Make glib build with libtool 2.2
242
243         * autogen.sh: Accept libtool 2.2.   We are moving towards having
244         it working.
245
246 2008-10-10  Behdad Esfahbod  <behdad@gnome.org>
247
248         * configure.in: With libtool 2.x, regenerate libtool early.
249         Based on bug 552107, patch by Patryk Zawadzki
250
251 2008-10-10  Matthias Clasen  <mclasen@redhat.com>
252
253         Bug 554557 – Patch to fix gcc warnings about missing format 
254         specifiers
255
256         * glib/gmarkup.c:
257         * glib/gshell.c:
258         * glib/grel.c: Fix gcc warnings. Patch by Kjartan Maraas
259
260 2008-10-10  Matthias Clasen  <mclasen@redhat.com>
261
262         Bug 552861 – glib-2.0.m4 calls system(3) without storing its result
263
264         * m4macros/glib-2.0.m4: Cosmetic change to make -Werror happy.
265         Patch by Andreas Köhler
266
267 2008-10-08  Christian Persch  <chpe@gnome.org>
268
269         Bug 555313 – GFileAttribute boxed type get_type function should
270         use usual get_type pattern
271
272         * gio/gfileattribute.c (g_file_attribute_info_list_get_type): Use
273         g_once_init_enter/leave.
274
275 2008-10-08  Christian Persch  <chpe@gnome.org>
276
277         Bug 555314 – mem leak in gmarkup
278
279         * glib/gmarkup.c: (g_markup_parse_context_parse): Plug a mem leak.
280
281 2008-10-08  Tor Lillqvist  <tml@novell.com>
282
283         Bug 554790 - g_convert() misbehaves with winiconv versions
284
285         * glib/win_iconv.c (kernel_mbtowc): If converting from ASCII,
286         explicitly check for and reject 8bit chars. MultiByteToWideChar()
287         doesn't, at least not on XP.
288
289 2008-10-06  Matthias Clasen  <mclasen@redhat.com>
290
291         * glib/gtypes.h: Properly include gmacros.h
292
293 2008-10-06  Behdad Esfahbod  <behdad@gnome.org>
294
295         Bug 555309 – giochannel breaks on error
296         Patch from Christian Persch
297
298         * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
299         (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags):
300         Don't shadow err.  Oops!
301
302 2008-10-06  Christophe Fergeau  <teuf@gnome.org>
303
304         Bug 555224 – Improve g_format_size_for_display doc
305         
306         * glib/gfileutils.c: change g_format_size_for_display API doc to
307         explicitly say that the returned string has to be freed. Change
308         spelling of "newly allocated" to "newly-allocated" in g_file_read_link
309         API doc to be more consistent with what is done in that file.
310
311 2008-10-01  David Zeuthen  <davidz@redhat.com>
312
313         * README.in: Add "Notes about glib 2.20" section detailing the
314         ramifications of the patch from bug #528670.
315
316 2008-09-30  Behdad Esfahbod  <behdad@gnome.org>
317
318         Bug 554092 – glib doesn't return G_FILE_ERROR_NOENT et al on OS X
319
320         * glib/giounix.c (g_io_unix_read), (g_io_unix_write),
321         (g_io_unix_seek), (g_io_unix_close), (g_io_unix_set_flags),
322         (g_io_unix_get_flags), (g_io_channel_new_file):
323         Like mclasen says: "well, thats the way errno works...,
324         save it or loose it".  Save errno.
325
326 2008-09-30  Tor Lillqvist  <tml@novell.com>
327
328         * Makefile.decl
329         * glib/tests/Makefile.am: Bypass gtester related stuff on Windows.
330
331 2008-09-30  Tor Lillqvist  <tml@novell.com>
332
333         * glib/gprintf.c
334         * glib/gnulib/vasnprintf.c: Don't define _GNU_SOURCE on Windows,
335         as _GNU_SOURCE has unintended side effects when compiling against
336         newest mingw headers.
337
338 2008-09-26  Dan Winship  <danw@gnome.org>
339
340         Bug 553447 – g_assert_no_error()
341
342         * glib/gtestutils.h (g_assert_no_error, g_assert_error): Macros to
343         assert that a GError is not set, or else is set to a particular
344         error.
345
346         * glib/gtestutils.c (g_assertion_message_error): utility for
347         those macros
348
349         * glib/tests/keyfile.c:
350         * tests/asyncqueue-test.c:
351         * tests/bookmarkfile-test.c:
352         * tests/convert-test.c:
353         * tests/file-test.c: Use g_assert_error/g_assert_no_error
354
355 2008-09-26  Dan Winship  <danw@gnome.org>
356
357         * glib/gthreadpool.c (wakeup_thread_marker): make this a "const
358         gpointer" rather than a gconstpointer to avoid warnings later
359
360         * glib/pcre/pcre_ucp_searchfuncs.c:
361         * glib/pcre/pcre_valid_utf8.c: #include "config.h"
362
363         * glib/tests/printf.c (test_d): fool gcc into not warning about
364         some printf format strings that we know are dubious
365
366 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
367
368         Bug 553857 – gbacktrace.h requires signal.h
369
370         * glib/gbacktrace.h: Include signal.h for raise(). 
371         Pointed out by Sebastien Bacher
372
373 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
374
375         Bug 553724 – python interpretter path not patched in correctly
376
377         * glib/Makefile.am: Fix the sed magic to replace python.
378
379 2008-09-26  Matthias Clasen  <mclasen@redhat.com>
380
381         * glib/gmain.c: Add some more docs.
382
383         * glib/giochannel.c: Move more docs inline, and improve them
384         on the way.
385
386 2008-09-25  Tor Lillqvist  <tml@novell.com>
387
388         Bug 553820 - gpoll.c: undeclared identifier
389
390         * glib/gmain.c
391         * glib/gpoll.c: Make the g_poll() function non-static also on
392         Windows. Prefix an underscore to the g_main_poll_debug variable
393         and make it non-static in gmain.c so that it can be used in
394         gpoll.c. Add back missing variable declaration.
395
396 2008-09-25  Tor Lillqvist  <tml@novell.com>
397
398         * glib/gspawn-win32.c (do_spawn_with_pipes) (do_spawn_directly):
399         Just ignore the child_setup function, never call it. The is no
400         situation in which it could be useful on Windows. Do print a
401         warning, like before.
402
403         * glib/gspawn.c (g_spawn_async_with_pipes): Corresponding change
404         in documentation.
405
406 2008-09-24  Sven Herzberg  <sven@imendio.com>
407
408         Be a little more explcit in the docs. Includes Owen's requested
409         changes.
410
411         * glib/gmain.c: improved documentation for g_source_attach() and
412         g_source_destroy()
413
414 2008-09-23  Michael Natterer  <mitch@imendio.com>
415
416         * glib/glib.h: #include <glib/gpoll.h>
417
418         * glib/gpoll.h: #error out if gpoll.h is included directly.
419
420         * glib/gpoll.c: remove trailing whitespace.
421
422 2008-09-23  Dan Winship  <danw@gnome.org>
423
424         * glib/gpoll.[ch] (g_poll): Move this out of gmain.c and make it part
425         of the public API. (Part of Bug 505361 - gunixinputstream.c assumes
426         poll() available.)
427
428 2008-09-23  Tor Lillqvist  <tml@novell.com>
429
430         * glib/gmain.c (poll_rest) [Win32]: Fix embarrassing bug: I was
431         passing an incorrect third parameter to memmove(), had forgotten
432         to multiply by the size of the table entry. Just use a for loop
433         instead, clearer. Odd I didn't notice when testing this code.
434
435 2008-09-19  Hans Petter Jansson  <hpj@novell.com>
436
437         Rewrite most of GHashTable to use open addressing with quadratic
438         probing instead of chaining. This has the potential to reduce memory
439         fragmentation significantly, while being slightly faster due to
440         better locality and no need to call alloc/free functions for nodes.
441         Benchmarks suggest it also uses less memory overall.
442
443         * glib/ghash.c (prime_mod): Table of suitable primes for
444         initial-probe distribution.
445         (g_hash_table_set_shift): New function.
446         (g_hash_table_find_closest_shift): New function.
447         (g_hash_table_set_shift_from_size): New function.
448         (g_hash_table_lookup_node_for_insertion): New function.
449         (g_hash_table_lookup_node): Rewritten to return node index instead of
450         pointer, use quadratic probe on flat table, and not return insertion
451         data. The latter saves some computation for read-only lookups.
452         (g_hash_table_remove_node): Rewrite to take a pointer directly to the
453         node structure to remove, and clear that. Remove unlinking code.
454         (g_hash_table_remove_all_nodes): Rewrite to not clear nodes
455         individually, but en masse using memset () after potentially calling
456         notify functions.
457         (iter_remove_or_steal): Use new data structure and algorithm. Vastly
458         simplified - now just a call to g_hash_table_remove_node ().
459         (g_hash_table_resize): New resize code, re-indexing with new prime
460         and cleaning up tombstones.
461         (g_hash_table_maybe_resize): Table may hold 8 buckets minimum, no less
462         than 1/4 load excluding tombstones, and no more than 15/16 load
463         including tombstones. These numbers are the results of a lot of
464         benchmarking with multiple complex applications, and should not be
465         changed lightly.
466         (g_hash_table_iter_next)
467         (g_hash_table_lookup)
468         (g_hash_table_lookup_extended)
469         (g_hash_table_insert_internal)
470         (g_hash_table_remove_internal)
471         (g_hash_table_foreach_remove_or_steal)
472         (g_hash_table_foreach)
473         (g_hash_table_find)
474         (g_hash_table_get_keys)
475         (g_hash_table_get_values): Use new data structure and algorithm,
476         fairly trivial changes.
477
478 2008-09-19  Tor Lillqvist  <tml@novell.com>
479
480         * glib-zip.in: Look for man pages in share/man.
481
482         * glib/gutils.c (_glib_get_dll_directory)
483         * glib/gspawn-win32.c (do_spawn_with_pipes): Be a bit less
484         restrictive, look for the helper programs in the same folder where
485         the GLib DLL is, not necessarily in a "bin" subfolder of the top
486         GLib installation folder.
487
488 2008-09-18  Matthias Clasen <mclasen@redhat.com>
489
490         * configure.in: Bump version to 2.19.0
491
492         * ChangeLog.pre-2-18: rotate ChangeLog
493         
494         * === branch for 2.18 ===