Fix 344868
[platform/upstream/glib.git] / ChangeLog
1 2006-06-14  Matthias Clasen  <mclasen@redhat.com>
2         
3         * glib/gkeyfile.c (g_key_file_to_data): Separate groups by
4         an empty line  (#344868, Christian Persch)
5
6 2006-06-14  Tor Lillqvist  <tml@novell.com>
7
8         * glib/gutils.c (g_listenv): Add Windows notes to doc comment.
9
10 2006-06-12  Emmanuele Bassi  <ebassi@cvs.gnome.org>
11
12         * glib/gbookmarkfile.h:
13         * glib/gbookmarkfile.c (g_bookmark_file_remove_item): Return
14         a boolean instead of void.
15
16         * tests/bookmarkfile-test.c (test_modify): Add a test case
17         for g_bookmark_file_remove_item().
18
19 2006-06-12  Matthias Clasen  <mclasen@redhat.com>
20
21         * Bump version
22
23         * === Released 2.11.3 ===
24
25         * NEWS: Updates
26
27 2006-06-09  Emmanuele Bassi  <ebassi@cvs.gnome.org>
28
29         * glib/gbookmarkfile.c (g_bookmark_file_remove_application): Use
30         an empty string to pass the test in set_app_info.
31
32         (g_bookmark_file_move_item): Remove the old item from the
33         look up table; return success in case of empty target.
34
35 2006-06-08  Tor Lillqvist  <tml@novell.com>
36
37         * glib/gunicollate.c (msc_strxfrm_wrapper): Workaround for bug in
38         strxfrm() in Microsoft's newer C runtimes. (#343919, Kazuki
39         Iwamoto)
40
41 2006-06-05  Matthias Clasen  <mclasen@redhat.com>
42
43         * configure.in: Bump version
44
45         * === Released 2.11.2 ===
46
47         * configure.in: Set interface age to 0.
48
49         * NEWS: Updates
50
51         * glib/gmain.c: Fix some doc formatting issues.
52
53         * glib/gstrfuncs.c: Revert accidental commit.
54
55         * glib/gmain.c (get_dispatch): Don't leak the
56         dispatch struct.  (#321886)
57
58         * tests/strtod-test.c: Add some tests involving
59         leading whitespace.
60
61         * glib/gstrfuncs.c (g_ascii_formatd): Skip leading 
62         whitespace.  (#343899, Ã˜ystein Johansen)
63
64 2006-06-01  Matthias Clasen  <mclasen@redhat.com>
65
66         * glib/gmain.h: 
67         * glib/gmain.c: Add three new functions, 
68         g_main_current_source, g_source_set_funcs and 
69         g_source_is_destroyed, that will be necessary to 
70         solve thread-safety issues with idles in GTK+.  
71         (#321886, Chris Wilson)
72
73 2006-06-01  Matthias Clasen  <mclasen@redhat.com>
74
75         * glib/giochannel.c (g_io_channel_write_chars): Avoid
76         running in an assertion with small writes.  (#343566, Chris
77         Wilson)
78
79         * tests/iochannel-test.c: Add a testcase for small writes.
80
81         * glib/glib.symbols: 
82         * glib/ghash.h: 
83         * glib/ghash.c: Add g_hash_table_{remove,steal}_all to
84         remove all nodes from a hash table.  (#168538, Matt Barnes)
85
86 2006-06-01  Behdad Esfahbod  <behdad@gnome.org>
87
88         * glib/gkeyfile.c (g_key_file_to_data),
89         (g_key_file_parse_value_as_comment),
90         (g_key_file_parse_comment_as_value):
91         * glib/gscanner.c (g_scanner_get_token_ll): Cleanup. Use return
92         value of g_string_free(...). (#343548, Chris Wilson)
93
94 2006-05-28  Matthias Clasen  <mclasen@redhat.com>
95
96         * glib/gmarkup.c (g_markup_parse_context_parse): 
97         Don't use g_str_has_{prefix,suffix} here.
98
99 2006-05-28  Matthias Clasen  <mclasen@redhat.com>
100
101         * glib/gmarkup.h: Add a GMarkupParseFlags flag for
102         treating CDATA as text. 
103
104         * glib/gmarkup.c (g_markup_parse_context_parse): 
105         Implement it here.
106
107 2006-05-28  Matthias Clasen  <mclasen@redhat.com>
108
109         * tests/markups/expected-*: Output that test-markup
110         is expected to produce when run on the valid gmarkup 
111         examples.
112
113         * tests/markup-test.c: Only dump the results of the
114         first, unchunked parse, to compare it against the expected
115         output. 
116
117         * tests/run-markup-tests.sh: For valid examples, compare
118         the output of test-markup against the corresponding
119         expected-<n> file.
120         
121 2006-05-24  Matthias Clasen  <mclasen@redhat.com>
122
123         * configure.in: Don't compile timeloop on Minix. 
124         (Leonard den Ottolander)
125
126 2006-05-22  Sebastian Wilhelmi  <wilhelmi@google.com>
127
128         * glib/gthread.c (g_thread_init_glib): Run _g_atomic_thread_init
129         as the first of the full fledged initializers to allow the later
130         to potentially use atomic ints (which they currently do
131         not). (#342563, Peter Kjellerstedt)
132
133 2006-05-16  Matthias Clasen  <mclasen@redhat.com>
134
135         * tests/Makefile.am: 
136         * tests/strtoll-test.c: Add tests for g_ascii_strtoll()
137         and g_ascii_strtoull().
138
139         * glib/glib.symbols:
140         * glib/gstrfuncs.h: 
141         * glib/gstrfuncs.c (g_ascii_strtoll): New function to
142         parse signed 64bit integers like strtoll does.  
143
144         * glib/goption.c (parse_int64): Use g_ascii_strtoll(),
145         since strtoll() is C99 and not available on some
146         systems.  (#341826, Kazuki Iwamoto)
147
148 2006-05-15  Matthias Clasen  <mclasen@redhat.com>
149         
150         * configure.in: Bump version
151
152         * === Released 2.11.1 ===
153
154         * NEWS: Updates
155
156 2006-05-13  Matthias Clasen  <mclasen@redhat.com>
157
158         * glib/grel.c: Fix several cases of deref-before-NULL-check.
159         (#341191, Pascal Terjan)
160
161         * glib/glib.symbols: 
162         * glib/goption.h: 
163         * glib/goption.c: Allow optional summary and description
164         texts before and after the option descriptions, and add
165         a way to translate them.  (#336120, Behdad Esfahbod)
166
167 2006-05-12  Tor Lillqvist  <tml@novell.com>
168
169         * glib/giowin32.c (g_io_win32_sock_set_flags): Implement
170         setting/clearing G_IO_FLAG_NONBLOCK for channels attached to
171         sockets. (#341192)
172         (g_io_win32_unimpl_set_flags): set_flags method for the
173         unimplemented case.
174         
175 2006-05-11  Bastien Nocera  <hadess@hadess.net>
176
177         * glib/goption.c: (parse_int64), (parse_arg), (free_changes_list):
178         * glib/goption.h:
179         * tests/option-test.c: (arg_test6), (main): add an int64 type for
180         GOption (G_OPTION_ARG_INT64) (#341237)
181
182 2006-05-10  Sebastian Wilhelmi  <wilhelmi@google.com>
183
184         * glib/gthread.h, gthread/gthread-impl.c: Make the magic and
185         location arguments to the error-checking-mutex functions const and
186         do not write to them, as we might not own them. Clean up the
187         error-checking-mutex code quite a bit. (#335198, Chris Wilson)
188
189         * glib/gthread.c: Use g_atomic_pointer_set instead of old
190         homegrown version now that we have it. (#335198, Chris Wilson)
191
192         * gthread/gthread-posix.c, gthread/gthread-win32.c: Prevent
193         calling into g_cond_wait resp. g_mutex_lock/unlock directly to
194         avoid recursions into the errorcheking mutex code (and out of
195         principle anyway). (#335198, Chris Wilson)
196
197         * tests/errorcheck-mutex-test.c: Adapt to GLib coding standards.
198
199 2006-05-09  Sebastian Wilhelmi  <wilhelmi@google.com>
200
201         * glib/gthreadinit.h: Renamed to glib/gthreadprivate.h and moved
202         system thread identifier comparision and assignment macros from
203         glib/gthread.c to glib/gthreadprivate.h.
204
205         * glib/Makefile.am, glib/gatomic.c, glib/gconvert.c, glib/gmain.c,
206         glib/gmem.c, glib/gmessages.c, glib/grand.c, glib/gslice.c,
207         glib/gthread.c, glib/gutils.c, gthread/gthread-impl.c: Use
208         glib/gthreadprivate.h instead of glib/gthreadinit.h.
209
210         * gthread/gthread-impl.c: Use GSystemThread instead of GThread for
211         owner determination. (#311043, jylefort@FreeBSD.org)
212
213         * tests/Makefile.am, tests/errorcheck-mutex-test: New test program
214         to test for all checked violations.
215
216         * glib/gprintf.c, glib/gspawn-win32.c, glib/gutf8.c,
217         gthread/gthread-impl.c, gthread/gthread-posix.c,
218         gthread/gthread-win32.c: Use canonical include form for internal
219         headers. config.h is always there.
220
221         * Remove obsolete gthread/gthread-solaris.c.
222
223 2006-05-08  Matthias Clasen  <mclasen@redhat.com>
224
225         * tests/convert-test.c (test_one_half): Use encoding names which 
226         may work better on Solaris.  (#340434, Alessandro Vesely)
227
228         * tests/keyfile-test.c (test_number): Add some tests for
229         invalid floating point numbers.
230
231         * glib/gkeyfile.c (g_key_file_parse_value_as_double): Return
232         an error for the empty string.  (#339105, Morten Welinder)
233
234         * glib/gscanner.c (g_scanner_config_template): Make const,
235         noticed by Kjartan Maraas.
236
237 2006-05-06  Matthias Clasen  <mclasen@redhat.com>
238
239         * glib/gkeyfile.c (g_key_file_set_string_list)
240         (g_key_file_set_locale_string_list): Fix invalid memory
241         reads.  (#340816, Nick Treleaven)
242
243 2006-05-04  Alexander Larsson  <alexl@redhat.com>
244
245         * glib/gbase64.c: (g_base64_decode_step):
246         Fix OOB write (#340538)
247
248 2006-05-03  Matthias Clasen  <mclasen@redhat.com>
249
250         * tests/base64-test.c: Add some more tests.
251
252         * glib/gbase64.c (g_base64_decode_step): Avoid writing
253         beyond the guaranteed lenght of the output buffer, if
254         there is padding.
255
256         * tests/base64-test.c (test_incremental): Use malloced memory
257         instead of stack-allocated, so that MALLOC_CHECK_=2 catches
258         the OOB write...
259
260         * glib/gbookmarkfile.c (g_bookmark_file_load_from_data): Remove
261         an overzealous return_if_fail check that causes make check to 
262         fail.
263
264 2006-05-02  Matthias Clasen  <mclasen@redhat.com>
265
266         * configure.in: Bump version
267         
268         * === Released 2.11.0 ===
269
270         * NEWS: Updates
271
272         * tests/casemap.txt: 
273         * tests/casefold.txt: Regenerate from Unicode 5.0 data. 
274
275         * glib/guniprop.c: Make interval_compare static.
276
277 Tue May  2 15:00:00 2006  Tim Janik  <timj@gtk.org>
278
279         * tests/gobject/deftype.c: added test code from Behdad Esfahbod, 
280         see #337128.
281
282 Tue May  2 14:18:25 2006  Tim Janik  <timj@gtk.org>
283
284         * glib/goption.c (g_option_context_parse): fixed leak in short
285         option parsing. rewrote parts of the code to be more concise to
286         enhance readability. fixed exaggerated uses of strlen.
287
288 2006-04-28  Behdad Esfahbod  <behdad@gnome.org>
289
290         * glib/guniprop.c: #include <stdlib.h>
291
292 2006-04-27  Matthias Clasen  <mclasen@redhat.com>
293
294         * glib/glib.symbols: Add g_unichar_iswide_cjk.
295         * glib/guniprop.c: Add a "Since: 2.12".
296
297         * NEWS: Updates
298
299 2006-04-27  Behdad Esfahbod  <behdad@gnome.org>
300
301         * docs/reference/glib/glib-sections.txt,
302         * glib/gunicode.h glib/guniprop.c: Implement g_unichar_iswide_cjk().
303         (#105626)
304
305 2006-04-27  Matthias Clasen  <mclasen@redhat.com>
306
307         * glib/gbookmarkfile.c (g_bookmark_file_set_description) 
308         (g_bookmark_file_set_title, g_bookmark_file_set_icon): 
309         Remove some special-casing of empty string which led to 
310         dangling pointers.  (#339337, Morten Welinder)
311         (expand_exec_line): Don't use printf() needlessly, handle
312         trailing '%' gracefully.  (#339338, Morten Welinder)
313         (is_element_full): Silence the compiler.
314         (g_bookmark_file_dump, bookmark_metadata_dump): 
315         (bookmark_app_info_dump): Escape strings before dumping 
316         them in xml.  (#339340, Morten Welinder)
317
318 2006-04-27  Behdad Esfahbod  <behdad@gnome.org>
319
320         * glib/gunibreak.h, glib/gunichartables.h: Regenerated using
321         Unicode Character Database 5.0 beta.
322
323 2006-04-26  Matthias Clasen  <mclasen@redhat.com>
324
325         * glib/grand.c (g_rand_new): Don't repeat a failed fclose()
326         call, since that invokes undefined behaviour.  (Coverity)
327
328 2006-04-25  Matthias Clasen  <mclasen@redhat.com>
329
330         * glib/gbookmarkfile.c (is_element_full): Avoid a possible
331         NULL dereference (found by Coverity), also avoid some 
332         pointless strdups.
333
334         * tests/keyfile-test.c (test_comments): Add a test for
335         the previous change.
336
337         * glib/gkeyfile.c (g_key_file_lookup_group_node): Remove
338         redundant code.
339         (g_key_file_get_group_comment): Don't dereference before
340         checking for NULL.  (#338572, Coverity, Pascal Terjan)
341
342 2006-04-19  Matthias Clasen  <mclasen@redhat.com>
343
344         * glib/gdataset.c: Add some missing Since: 2.8 tags.
345
346 2006-04-19  Tor Lillqvist  <tml@novell.com>
347
348         * glib/gatomic.c: Adapt to the changed prototype of
349         InterlockedCompareExchange() in newer SDKs. Use
350         InterlockedCompareExchangePointer() when applicable. (#155884,
351         John Ehresman)
352
353 2006-04-18  Matthias Clasen  <mclasen@redhat.com>
354
355         * glib/gkeyfile.h:
356         * glib/glib.symbols:
357         * glib/gkeyfile.c: Add api to get and set doubles and 
358         lists of doubles.  (#164719, Maurizio Monge, Dom Lachowicz)
359
360         * tests/keyfile-test.c: Add tests for new api.
361
362         * glib/gkeyfile.c (g_key_file_add_group): Accept duplicate
363         groups.  (#157877, Sebastien Bacher)
364
365         * tests/keyfile-test.c: Add tests for duplicate key and
366         duplicate group handling.
367
368 2006-04-17  Matthias Clasen  <mclasen@redhat.com>
369
370         * glib/gcompletion.c (g_completion_complete_utf8): Make passing
371         NULL for new_prefix work as documented.  (#338845, Yevgen Muntyan)
372
373         * tests/completion-test.c: Test that passing NULL for 
374         new_prefix in g_completion_complete_utf8 works.
375
376 2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>
377
378         * configure.in: Remove obsolete entry for no_NO.
379         * po/no.po: And the translation.
380
381 2006-04-16  Matthias Clasen  <mclasen@redhat.com>
382
383         * glib/gdate.c (g_date_fill_parse_tokens): Avoid an array
384         overrun.  (Coverity, fix by Pascal Terjan)
385
386 2006-04-12  Bastien Nocera  <hadess@hadess.net>
387
388         reviewed by: Matthias Clasen <mclasen@redhat.com>
389
390         * glib/gconvert.c: add more details about which RFC is concerned
391         when using g_filename_to_uri (#337553)
392
393 2006-04-12  Matthias Clasen  <mclasen@redhat.com>
394
395         * glib/goption.c (parse_arg): Add an assert to make it
396         clear when value can be NULL.
397
398 2006-04-07  Martyn Russell  <martyn@imendio.com>
399
400         * tests/threadpool-test.c: (test_thread_stop_unused): Removed an
401         assertion which can fail and is not a critical test.
402
403 2006-04-07  Hans Breuer  <hans@breuer.org>
404
405         * glib/makefile.msc.in : added gbase64.obj and derive the static libs
406         name from auto* variables
407         * glib/makefile.msc.in : link user32.lib for MessageBox()
408
409 2006-04-07  Martyn Russell  <martyn@imendio.com>
410
411         * glib/gasyncqueue.[ch]: Added private API
412         _g_async_queue_get_mutex so that g_thread_pool_free() can use the
413         async queue mutex. 
414         
415         * glib/gthreadpool.c: Make sure
416         g_thread_pool_stop_unused_threads() actually stops unused threads
417         and global limits (like max idle time and max unused threads) can
418         be set without creating a thread pool first. Fixed #335215 (patch
419         from Chris Wilson).  
420         
421         * tests/threadpool-test.c: Added two new tests, tests setting
422         global limits before creating a thread pool. The second test
423         makes sure unused threads are actually stopped when using the
424         g_thread_pool_stop_unused_threads(). 
425
426 2006-04-05  Matthias Clasen  <mclasen@redhat.com>
427
428         * glib/gnulib/vasnprintf.c (vasnprintf): Make
429         long long printing work if snprintf is not 
430         available.  (#332841, Michael McDonald)
431
432 2006-04-05  Behdad Esfahbod  <behdad@gnome.org>
433
434         * tests/option-test.c: Check the return value of g_get_prgname for
435         NULL before passing to strcmp.
436
437         * tests/slice-test.c: Report the correct name in Usage summary.
438
439 2006-04-05  Matthias Clasen  <mclasen@redhat.com>
440
441         * tests/run-collate-tests.sh: Fix up shell script.
442
443         * tests/option-test.c (arg_test5): Skip the test if
444         setting the locale fails.
445         (empty_test1): Reset prgname before the test.
446
447         * tests/Makefile.am: Arrange for run-bookmark-test.sh
448         to be run by make check.
449
450         * tests/utf8-pointer.c: 
451         * tests/tree-test.c: Silence warnings.
452
453 2006-04-04  Matthias Clasen  <mclasen@redhat.com>
454
455         * glib/glib.symbols:
456         * glib/gbase64.[hc]: Add G_GNUC_MALLOC where
457         appropriate, use glib types.
458
459 2006-04-04  Alexander Larsson  <alexl@redhat.com>
460
461         * glib/Makefile.am:
462         * glib/gbase64.[ch]:
463         * glib/glib.symbols:
464         Add base64 encode/decode functions
465         
466         * glib/glib.h:
467         Include gbase64.h
468         
469         * tests/Makefile.am:
470         * tests/base64-test.c:
471         Tests for base64 functions
472
473 2006-04-04  Matthias Clasen  <mclasen@redhat.com>
474
475         * glib/gdate.c: Move short_month_names and long_month_names
476         to bss.
477
478         * glib/gspawn-win32.c (g_spawn_error_quark):
479         * glib/gspawn.c (g_spawn_error_quark):
480         * glib/gshell.c (g_shell_error_quark):
481         * glib/gmarkup.c (g_markup_error_quark):
482         * glib/goption.c (g_option_error_quark):
483         * glib/gkeyfile.c (g_key_file_error_quark):
484         * glib/giochannel.c (g_io_channel_error_quark):
485         * glib/gfileutils.c (g_file_error_quark):
486         * glib/gconvert.c (g_convert_error_quark):
487         * glib/gbookmarkfile.c (g_bookmark_file_error_quark):
488         * glib/gthread.c (g_thread_error_quark): No point in making
489         the error path fast by caching quarks.
490
491         * glib/gbookmarkfile.c: Make the parser struct const.
492
493 2006-04-04  Behdad Esfahbod  <behdad@gnome.org>
494
495         * glib/gbookmarkfile.c: Fix accidentally broken build.
496
497 2006-04-03  Matthias Clasen  <mclasen@redhat.com>
498
499         * glib/gbookmarkfile.c: Don't include sys/time.h  (#337027,
500          Kazuki IWAMOTO)
501
502 2006-03-31  Tor Lillqvist  <tml@novell.com>
503
504         * glib/gstdio.c (g_remove): Revert change below. It wasn't a good
505         idea after all, says the original bug reporter. See bug for
506         discussion.
507
508 2006-03-30  Tor Lillqvist  <tml@novell.com>
509
510         * glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove()
511         fails with errno set to ENOENT, to leave errno set to EACCESS if
512         that is the problem. (#334799, Yevgen Muntyan)
513
514 2006-03-30  Matthias Clasen  <mclasen@redhat.com>
515
516         * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Sync
517         the parameter names with the .h files, otherwise gtk-doc
518         misbehaves.
519
520 2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>
521
522         * tests/.cvsignore: Add bookmarkfile-test to the ignored files.
523
524 2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>
525
526         * tests/Makefile.am:
527         * tests/bookmarkfile-test.c:
528         * tests/run-bookmark-test.sh:
529         * tests/bookmarks/*.xbel: Add test suite for GBookmarkFile.
530
531 2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>
532
533         * docs/reference/glib/glib-docs.sgml:
534         * docs/reference/glib/glib-sections.txt:
535         * docs/reference/glib/tmpl/bookmarkfile.sgml: Add documentation for
536         GBookmarkFile to GLib's reference guide.
537
538 2006-03-27  Emmanuele Bassi  <ebassi@cvs.gnome.org>
539
540         * glib/glib.h:
541         * glib/gbookmarkfile.h
542         * glib/gbookmarkfile.c: Add GBookmarkFile, a parser for files
543         containing bookmarks stored using the Desktop Bookmark
544         specification. Fixes bug #327662.
545
546         * glib/glib.symbols:
547         * glib/Makefile.am:
548         * glib/makefile.msc.in:
549         * glib/makefile.mingw.in: Build glue for GBookmarkFile.
550
551 2006-03-27  Dom Lachowicz  <cinamod@hotmail.com>
552
553         * tests/option-test.c: Copy-and-paste error slipped into test5. Enable
554         test5, as per Matthias' comments in bug 329548#c11.
555
556         Change a gboolean to an int. Fixes bug #329789.
557
558         * configure.in: Bump version number to 2.11.0
559         
560 2006-03-27  Matthias Clasen  <mclasen@redhat.com>
561
562         Add support for floating point numbers to goption.
563         (#329548, Behdad Esfahbod, patch by Antoine Dopffer and 
564          Dom Lachowicz)
565
566         * glib/goption.h:
567         * glib/goption.c: Support double arguments.
568
569         * tests/option-test.c: Test double arguments.`
570
571 2006-03-26  Matthias Clasen  <mclasen@redhat.com>
572
573         * glib/goption.c (g_option_context_new): Improve the description
574         of parameter_string in the docs.  (#336085, Claudio Saavedra)
575
576 2006-03-24  Martyn Russell  <martyn@imendio.com>
577
578         * glib/gthreadpool.c: Updated the documentation to explain that
579         when the maximum threads is > 1 the sort functionality is not 100%
580         accurate due to the ramdom nature of the scheduler choosing which
581         threads to execute. Fixes bug #334943.
582
583         * tests/threadpool-test.c: Disabled the debugging by default and
584         fixed the sort test to set the maximum threads to 1 to guarantee
585         the thread entry function is called in order. 
586
587 2006-03-23  Matthias Clasen  <mclasen@redhat.com> 
588
589         === Branch for 2.10 ===