1 2006-08-05 Matthias Clasen <mclasen@redhat.com>
3 * glib/guniprop.c (g_unichar_toupper, g_unichar_tolower)
4 (real_toupper, real_tolower): If a character can't be converted,
5 don't replace it with a NUL byte, but leave it unchanged.
6 (#348491, Nikolai Weibull)
8 * tests/unicode-caseconv.c: Adapt to this change.
10 * tests/unicode-caseconv.c (main): Add a comment to point out
11 a quirk in the test data that we are working around here.
13 2006-07-31 Behdad Esfahbod <behdad@gnome.org>
15 * glib/guniprop.c (g_unichar_isxdigit): Make it only accept those
16 characters that we accept i g_unichar_xdigit_value(), i.e. don't
17 accept non-decimal digits. (#347842, Nikolai Weibull)
19 2006-07-31 Behdad Esfahbod <behdad@gnome.org>
21 * glib/gunidecomp.c (_g_utf8_normalize_wc): Update to reflect Unicode
22 PR #29 (#348694, Nikolai Weibull)
24 * tests/unicode-normalize.c (encode), (test_form): Make output more
25 useful, reporting the unexpected output of the test.
27 2006-07-24 Tor Lillqvist <tml@novell.com>
29 * tests/slice-test.c: Use g_get_current_time() insted of
32 2006-07-22 Matthias Clasen <mclasen@redhat.com>
34 * configure.in: Bump version
36 * === Released 2.12.1 ===
38 * glib/gconvert.c: Fix the prototype of _g_charset_get_aliases.
39 (#346494, Thomas Klausner)
43 2006-07-21 Behdad Esfahbod <behdad@gnome.org>
45 * glib/gmirroringtable.h: Updated to Unicode Character Database 5.0.0.
47 2006-07-20 Matthias Clasen <mclasen@redhat.com>
49 * glib/guniprop.c (real_toupper, real_tolower): Small optimization.
50 (#348011, Nikolai Weibull)
52 2006-07-19 Behdad Esfahbod <behdad@gnome.org>
55 * glib/gunichartables.h:
58 Update to final Unicode Character Database 5.0.0. (#336281)
60 2006-07-06 Behdad Esfahbod <behdad@gnome.org>
62 * glib/gutils.c (g_parse_debug_string): When matching debug flag keys,
63 ignore case and accept any of comma, colon, semicolon, space, and tab
64 as separators. Also, match dash with underscore.
66 2006-07-05 Matthias Clasen <mclasen@redhat.com>
68 * glib/gbase64.c: Fix typos in the docs. (#346660, Mark
71 2006-07-03 Runa Bhattacharjee <runabh@gmail.com>
73 * configure.in: Added Bengali India (bn_IN) in ALL_LINGUAS.
75 2006-07-02 Matthias Clasen <mclasen@redhat.com>
77 * configure.in: Bump version
79 * === Released 2.12.0 ===
81 2006-06-30 Matthias Clasen <mclasen@redhat.com>
85 * configure.in: Set version to 2.12.0
87 2006-06-20 Matthias Clasen <mclasen@redhat.com>
89 * glib/gtimer.c (mktime_utc): Fix an off-by-2 error
90 in the leap year calculation. (#344905, Dan Winship)
92 * tests/testglib.c (main): Change the test data for
93 the g_time_val_from_iso8601 tests to expose an off-by-2
94 error in the leap year calculation.
96 * configure.in: Bump version
98 * === Released 2.11.4 ===
102 2006-06-16 Matthias Clasen <mclasen@redhat.com>
104 * tests/file-test.c (test_mkstemp): Add tests.
106 * glib/gfileutils.c (g_mkstemp): Allow the XXXXXX to occur
107 inside the template, not just at the end.
109 2006-06-14 Matthias Clasen <mclasen@redhat.com>
111 * glib/gkeyfile.c (g_key_file_to_data): Separate groups by
112 an empty line (#344868, Christian Persch)
114 2006-06-14 Tor Lillqvist <tml@novell.com>
116 * glib/gutils.c (g_listenv): Add Windows notes to doc comment.
118 2006-06-12 Emmanuele Bassi <ebassi@cvs.gnome.org>
120 * glib/gbookmarkfile.h:
121 * glib/gbookmarkfile.c (g_bookmark_file_remove_item): Return
122 a boolean instead of void.
124 * tests/bookmarkfile-test.c (test_modify): Add a test case
125 for g_bookmark_file_remove_item().
127 2006-06-12 Matthias Clasen <mclasen@redhat.com>
131 * === Released 2.11.3 ===
135 2006-06-09 Emmanuele Bassi <ebassi@cvs.gnome.org>
137 * glib/gbookmarkfile.c (g_bookmark_file_remove_application): Use
138 an empty string to pass the test in set_app_info.
140 (g_bookmark_file_move_item): Remove the old item from the
141 look up table; return success in case of empty target.
143 2006-06-08 Tor Lillqvist <tml@novell.com>
145 * glib/gunicollate.c (msc_strxfrm_wrapper): Workaround for bug in
146 strxfrm() in Microsoft's newer C runtimes. (#343919, Kazuki
149 2006-06-05 Matthias Clasen <mclasen@redhat.com>
151 * configure.in: Bump version
153 * === Released 2.11.2 ===
155 * configure.in: Set interface age to 0.
159 * glib/gmain.c: Fix some doc formatting issues.
161 * glib/gstrfuncs.c: Revert accidental commit.
163 * glib/gmain.c (get_dispatch): Don't leak the
164 dispatch struct. (#321886)
166 * tests/strtod-test.c: Add some tests involving
169 * glib/gstrfuncs.c (g_ascii_formatd): Skip leading
170 whitespace. (#343899, Øystein Johansen)
172 2006-06-01 Matthias Clasen <mclasen@redhat.com>
175 * glib/gmain.c: Add three new functions,
176 g_main_current_source, g_source_set_funcs and
177 g_source_is_destroyed, that will be necessary to
178 solve thread-safety issues with idles in GTK+.
179 (#321886, Chris Wilson)
181 2006-06-01 Matthias Clasen <mclasen@redhat.com>
183 * glib/giochannel.c (g_io_channel_write_chars): Avoid
184 running in an assertion with small writes. (#343566, Chris
187 * tests/iochannel-test.c: Add a testcase for small writes.
191 * glib/ghash.c: Add g_hash_table_{remove,steal}_all to
192 remove all nodes from a hash table. (#168538, Matt Barnes)
194 2006-06-01 Behdad Esfahbod <behdad@gnome.org>
196 * glib/gkeyfile.c (g_key_file_to_data),
197 (g_key_file_parse_value_as_comment),
198 (g_key_file_parse_comment_as_value):
199 * glib/gscanner.c (g_scanner_get_token_ll): Cleanup. Use return
200 value of g_string_free(...). (#343548, Chris Wilson)
202 2006-05-28 Matthias Clasen <mclasen@redhat.com>
204 * glib/gmarkup.c (g_markup_parse_context_parse):
205 Don't use g_str_has_{prefix,suffix} here.
207 2006-05-28 Matthias Clasen <mclasen@redhat.com>
209 * glib/gmarkup.h: Add a GMarkupParseFlags flag for
210 treating CDATA as text.
212 * glib/gmarkup.c (g_markup_parse_context_parse):
215 2006-05-28 Matthias Clasen <mclasen@redhat.com>
217 * tests/markups/expected-*: Output that test-markup
218 is expected to produce when run on the valid gmarkup
221 * tests/markup-test.c: Only dump the results of the
222 first, unchunked parse, to compare it against the expected
225 * tests/run-markup-tests.sh: For valid examples, compare
226 the output of test-markup against the corresponding
229 2006-05-24 Matthias Clasen <mclasen@redhat.com>
231 * configure.in: Don't compile timeloop on Minix.
232 (Leonard den Ottolander)
234 2006-05-22 Sebastian Wilhelmi <wilhelmi@google.com>
236 * glib/gthread.c (g_thread_init_glib): Run _g_atomic_thread_init
237 as the first of the full fledged initializers to allow the later
238 to potentially use atomic ints (which they currently do
239 not). (#342563, Peter Kjellerstedt)
241 2006-05-16 Matthias Clasen <mclasen@redhat.com>
244 * tests/strtoll-test.c: Add tests for g_ascii_strtoll()
245 and g_ascii_strtoull().
249 * glib/gstrfuncs.c (g_ascii_strtoll): New function to
250 parse signed 64bit integers like strtoll does.
252 * glib/goption.c (parse_int64): Use g_ascii_strtoll(),
253 since strtoll() is C99 and not available on some
254 systems. (#341826, Kazuki Iwamoto)
256 2006-05-15 Matthias Clasen <mclasen@redhat.com>
258 * configure.in: Bump version
260 * === Released 2.11.1 ===
264 2006-05-13 Matthias Clasen <mclasen@redhat.com>
266 * glib/grel.c: Fix several cases of deref-before-NULL-check.
267 (#341191, Pascal Terjan)
271 * glib/goption.c: Allow optional summary and description
272 texts before and after the option descriptions, and add
273 a way to translate them. (#336120, Behdad Esfahbod)
275 2006-05-12 Tor Lillqvist <tml@novell.com>
277 * glib/giowin32.c (g_io_win32_sock_set_flags): Implement
278 setting/clearing G_IO_FLAG_NONBLOCK for channels attached to
280 (g_io_win32_unimpl_set_flags): set_flags method for the
283 2006-05-11 Bastien Nocera <hadess@hadess.net>
285 * glib/goption.c: (parse_int64), (parse_arg), (free_changes_list):
287 * tests/option-test.c: (arg_test6), (main): add an int64 type for
288 GOption (G_OPTION_ARG_INT64) (#341237)
290 2006-05-10 Sebastian Wilhelmi <wilhelmi@google.com>
292 * glib/gthread.h, gthread/gthread-impl.c: Make the magic and
293 location arguments to the error-checking-mutex functions const and
294 do not write to them, as we might not own them. Clean up the
295 error-checking-mutex code quite a bit. (#335198, Chris Wilson)
297 * glib/gthread.c: Use g_atomic_pointer_set instead of old
298 homegrown version now that we have it. (#335198, Chris Wilson)
300 * gthread/gthread-posix.c, gthread/gthread-win32.c: Prevent
301 calling into g_cond_wait resp. g_mutex_lock/unlock directly to
302 avoid recursions into the errorcheking mutex code (and out of
303 principle anyway). (#335198, Chris Wilson)
305 * tests/errorcheck-mutex-test.c: Adapt to GLib coding standards.
307 2006-05-09 Sebastian Wilhelmi <wilhelmi@google.com>
309 * glib/gthreadinit.h: Renamed to glib/gthreadprivate.h and moved
310 system thread identifier comparision and assignment macros from
311 glib/gthread.c to glib/gthreadprivate.h.
313 * glib/Makefile.am, glib/gatomic.c, glib/gconvert.c, glib/gmain.c,
314 glib/gmem.c, glib/gmessages.c, glib/grand.c, glib/gslice.c,
315 glib/gthread.c, glib/gutils.c, gthread/gthread-impl.c: Use
316 glib/gthreadprivate.h instead of glib/gthreadinit.h.
318 * gthread/gthread-impl.c: Use GSystemThread instead of GThread for
319 owner determination. (#311043, jylefort@FreeBSD.org)
321 * tests/Makefile.am, tests/errorcheck-mutex-test: New test program
322 to test for all checked violations.
324 * glib/gprintf.c, glib/gspawn-win32.c, glib/gutf8.c,
325 gthread/gthread-impl.c, gthread/gthread-posix.c,
326 gthread/gthread-win32.c: Use canonical include form for internal
327 headers. config.h is always there.
329 * Remove obsolete gthread/gthread-solaris.c.
331 2006-05-08 Matthias Clasen <mclasen@redhat.com>
333 * tests/convert-test.c (test_one_half): Use encoding names which
334 may work better on Solaris. (#340434, Alessandro Vesely)
336 * tests/keyfile-test.c (test_number): Add some tests for
337 invalid floating point numbers.
339 * glib/gkeyfile.c (g_key_file_parse_value_as_double): Return
340 an error for the empty string. (#339105, Morten Welinder)
342 * glib/gscanner.c (g_scanner_config_template): Make const,
343 noticed by Kjartan Maraas.
345 2006-05-06 Matthias Clasen <mclasen@redhat.com>
347 * glib/gkeyfile.c (g_key_file_set_string_list)
348 (g_key_file_set_locale_string_list): Fix invalid memory
349 reads. (#340816, Nick Treleaven)
351 2006-05-04 Alexander Larsson <alexl@redhat.com>
353 * glib/gbase64.c: (g_base64_decode_step):
354 Fix OOB write (#340538)
356 2006-05-03 Matthias Clasen <mclasen@redhat.com>
358 * tests/base64-test.c: Add some more tests.
360 * glib/gbase64.c (g_base64_decode_step): Avoid writing
361 beyond the guaranteed lenght of the output buffer, if
364 * tests/base64-test.c (test_incremental): Use malloced memory
365 instead of stack-allocated, so that MALLOC_CHECK_=2 catches
368 * glib/gbookmarkfile.c (g_bookmark_file_load_from_data): Remove
369 an overzealous return_if_fail check that causes make check to
372 2006-05-02 Matthias Clasen <mclasen@redhat.com>
374 * configure.in: Bump version
376 * === Released 2.11.0 ===
381 * tests/casefold.txt: Regenerate from Unicode 5.0 data.
383 * glib/guniprop.c: Make interval_compare static.
385 Tue May 2 15:00:00 2006 Tim Janik <timj@gtk.org>
387 * tests/gobject/deftype.c: added test code from Behdad Esfahbod,
390 Tue May 2 14:18:25 2006 Tim Janik <timj@gtk.org>
392 * glib/goption.c (g_option_context_parse): fixed leak in short
393 option parsing. rewrote parts of the code to be more concise to
394 enhance readability. fixed exaggerated uses of strlen.
396 2006-04-28 Behdad Esfahbod <behdad@gnome.org>
398 * glib/guniprop.c: #include <stdlib.h>
400 2006-04-27 Matthias Clasen <mclasen@redhat.com>
402 * glib/glib.symbols: Add g_unichar_iswide_cjk.
403 * glib/guniprop.c: Add a "Since: 2.12".
407 2006-04-27 Behdad Esfahbod <behdad@gnome.org>
409 * docs/reference/glib/glib-sections.txt,
410 * glib/gunicode.h glib/guniprop.c: Implement g_unichar_iswide_cjk().
413 2006-04-27 Matthias Clasen <mclasen@redhat.com>
415 * glib/gbookmarkfile.c (g_bookmark_file_set_description)
416 (g_bookmark_file_set_title, g_bookmark_file_set_icon):
417 Remove some special-casing of empty string which led to
418 dangling pointers. (#339337, Morten Welinder)
419 (expand_exec_line): Don't use printf() needlessly, handle
420 trailing '%' gracefully. (#339338, Morten Welinder)
421 (is_element_full): Silence the compiler.
422 (g_bookmark_file_dump, bookmark_metadata_dump):
423 (bookmark_app_info_dump): Escape strings before dumping
424 them in xml. (#339340, Morten Welinder)
426 2006-04-27 Behdad Esfahbod <behdad@gnome.org>
428 * glib/gunibreak.h, glib/gunichartables.h: Regenerated using
429 Unicode Character Database 5.0 beta.
431 2006-04-26 Matthias Clasen <mclasen@redhat.com>
433 * glib/grand.c (g_rand_new): Don't repeat a failed fclose()
434 call, since that invokes undefined behaviour. (Coverity)
436 2006-04-25 Matthias Clasen <mclasen@redhat.com>
438 * glib/gbookmarkfile.c (is_element_full): Avoid a possible
439 NULL dereference (found by Coverity), also avoid some
442 * tests/keyfile-test.c (test_comments): Add a test for
445 * glib/gkeyfile.c (g_key_file_lookup_group_node): Remove
447 (g_key_file_get_group_comment): Don't dereference before
448 checking for NULL. (#338572, Coverity, Pascal Terjan)
450 2006-04-19 Matthias Clasen <mclasen@redhat.com>
452 * glib/gdataset.c: Add some missing Since: 2.8 tags.
454 2006-04-19 Tor Lillqvist <tml@novell.com>
456 * glib/gatomic.c: Adapt to the changed prototype of
457 InterlockedCompareExchange() in newer SDKs. Use
458 InterlockedCompareExchangePointer() when applicable. (#155884,
461 2006-04-18 Matthias Clasen <mclasen@redhat.com>
465 * glib/gkeyfile.c: Add api to get and set doubles and
466 lists of doubles. (#164719, Maurizio Monge, Dom Lachowicz)
468 * tests/keyfile-test.c: Add tests for new api.
470 * glib/gkeyfile.c (g_key_file_add_group): Accept duplicate
471 groups. (#157877, Sebastien Bacher)
473 * tests/keyfile-test.c: Add tests for duplicate key and
474 duplicate group handling.
476 2006-04-17 Matthias Clasen <mclasen@redhat.com>
478 * glib/gcompletion.c (g_completion_complete_utf8): Make passing
479 NULL for new_prefix work as documented. (#338845, Yevgen Muntyan)
481 * tests/completion-test.c: Test that passing NULL for
482 new_prefix in g_completion_complete_utf8 works.
484 2006-04-17 Kjartan Maraas <kmaraas@gnome.org>
486 * configure.in: Remove obsolete entry for no_NO.
487 * po/no.po: And the translation.
489 2006-04-16 Matthias Clasen <mclasen@redhat.com>
491 * glib/gdate.c (g_date_fill_parse_tokens): Avoid an array
492 overrun. (Coverity, fix by Pascal Terjan)
494 2006-04-12 Bastien Nocera <hadess@hadess.net>
496 reviewed by: Matthias Clasen <mclasen@redhat.com>
498 * glib/gconvert.c: add more details about which RFC is concerned
499 when using g_filename_to_uri (#337553)
501 2006-04-12 Matthias Clasen <mclasen@redhat.com>
503 * glib/goption.c (parse_arg): Add an assert to make it
504 clear when value can be NULL.
506 2006-04-07 Martyn Russell <martyn@imendio.com>
508 * tests/threadpool-test.c: (test_thread_stop_unused): Removed an
509 assertion which can fail and is not a critical test.
511 2006-04-07 Hans Breuer <hans@breuer.org>
513 * glib/makefile.msc.in : added gbase64.obj and derive the static libs
514 name from auto* variables
515 * glib/makefile.msc.in : link user32.lib for MessageBox()
517 2006-04-07 Martyn Russell <martyn@imendio.com>
519 * glib/gasyncqueue.[ch]: Added private API
520 _g_async_queue_get_mutex so that g_thread_pool_free() can use the
523 * glib/gthreadpool.c: Make sure
524 g_thread_pool_stop_unused_threads() actually stops unused threads
525 and global limits (like max idle time and max unused threads) can
526 be set without creating a thread pool first. Fixed #335215 (patch
529 * tests/threadpool-test.c: Added two new tests, tests setting
530 global limits before creating a thread pool. The second test
531 makes sure unused threads are actually stopped when using the
532 g_thread_pool_stop_unused_threads().
534 2006-04-05 Matthias Clasen <mclasen@redhat.com>
536 * glib/gnulib/vasnprintf.c (vasnprintf): Make
537 long long printing work if snprintf is not
538 available. (#332841, Michael McDonald)
540 2006-04-05 Behdad Esfahbod <behdad@gnome.org>
542 * tests/option-test.c: Check the return value of g_get_prgname for
543 NULL before passing to strcmp.
545 * tests/slice-test.c: Report the correct name in Usage summary.
547 2006-04-05 Matthias Clasen <mclasen@redhat.com>
549 * tests/run-collate-tests.sh: Fix up shell script.
551 * tests/option-test.c (arg_test5): Skip the test if
552 setting the locale fails.
553 (empty_test1): Reset prgname before the test.
555 * tests/Makefile.am: Arrange for run-bookmark-test.sh
556 to be run by make check.
558 * tests/utf8-pointer.c:
559 * tests/tree-test.c: Silence warnings.
561 2006-04-04 Matthias Clasen <mclasen@redhat.com>
564 * glib/gbase64.[hc]: Add G_GNUC_MALLOC where
565 appropriate, use glib types.
567 2006-04-04 Alexander Larsson <alexl@redhat.com>
572 Add base64 encode/decode functions
578 * tests/base64-test.c:
579 Tests for base64 functions
581 2006-04-04 Matthias Clasen <mclasen@redhat.com>
583 * glib/gdate.c: Move short_month_names and long_month_names
586 * glib/gspawn-win32.c (g_spawn_error_quark):
587 * glib/gspawn.c (g_spawn_error_quark):
588 * glib/gshell.c (g_shell_error_quark):
589 * glib/gmarkup.c (g_markup_error_quark):
590 * glib/goption.c (g_option_error_quark):
591 * glib/gkeyfile.c (g_key_file_error_quark):
592 * glib/giochannel.c (g_io_channel_error_quark):
593 * glib/gfileutils.c (g_file_error_quark):
594 * glib/gconvert.c (g_convert_error_quark):
595 * glib/gbookmarkfile.c (g_bookmark_file_error_quark):
596 * glib/gthread.c (g_thread_error_quark): No point in making
597 the error path fast by caching quarks.
599 * glib/gbookmarkfile.c: Make the parser struct const.
601 2006-04-04 Behdad Esfahbod <behdad@gnome.org>
603 * glib/gbookmarkfile.c: Fix accidentally broken build.
605 2006-04-03 Matthias Clasen <mclasen@redhat.com>
607 * glib/gbookmarkfile.c: Don't include sys/time.h (#337027,
610 2006-03-31 Tor Lillqvist <tml@novell.com>
612 * glib/gstdio.c (g_remove): Revert change below. It wasn't a good
613 idea after all, says the original bug reporter. See bug for
616 2006-03-30 Tor Lillqvist <tml@novell.com>
618 * glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove()
619 fails with errno set to ENOENT, to leave errno set to EACCESS if
620 that is the problem. (#334799, Yevgen Muntyan)
622 2006-03-30 Matthias Clasen <mclasen@redhat.com>
624 * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Sync
625 the parameter names with the .h files, otherwise gtk-doc
628 2006-03-27 Emmanuele Bassi <ebassi@cvs.gnome.org>
630 * tests/.cvsignore: Add bookmarkfile-test to the ignored files.
632 2006-03-27 Emmanuele Bassi <ebassi@cvs.gnome.org>
635 * tests/bookmarkfile-test.c:
636 * tests/run-bookmark-test.sh:
637 * tests/bookmarks/*.xbel: Add test suite for GBookmarkFile.
639 2006-03-27 Emmanuele Bassi <ebassi@cvs.gnome.org>
641 * docs/reference/glib/glib-docs.sgml:
642 * docs/reference/glib/glib-sections.txt:
643 * docs/reference/glib/tmpl/bookmarkfile.sgml: Add documentation for
644 GBookmarkFile to GLib's reference guide.
646 2006-03-27 Emmanuele Bassi <ebassi@cvs.gnome.org>
649 * glib/gbookmarkfile.h
650 * glib/gbookmarkfile.c: Add GBookmarkFile, a parser for files
651 containing bookmarks stored using the Desktop Bookmark
652 specification. Fixes bug #327662.
656 * glib/makefile.msc.in:
657 * glib/makefile.mingw.in: Build glue for GBookmarkFile.
659 2006-03-27 Dom Lachowicz <cinamod@hotmail.com>
661 * tests/option-test.c: Copy-and-paste error slipped into test5. Enable
662 test5, as per Matthias' comments in bug 329548#c11.
664 Change a gboolean to an int. Fixes bug #329789.
666 * configure.in: Bump version number to 2.11.0
668 2006-03-27 Matthias Clasen <mclasen@redhat.com>
670 Add support for floating point numbers to goption.
671 (#329548, Behdad Esfahbod, patch by Antoine Dopffer and
675 * glib/goption.c: Support double arguments.
677 * tests/option-test.c: Test double arguments.`
679 2006-03-26 Matthias Clasen <mclasen@redhat.com>
681 * glib/goption.c (g_option_context_new): Improve the description
682 of parameter_string in the docs. (#336085, Claudio Saavedra)
684 2006-03-24 Martyn Russell <martyn@imendio.com>
686 * glib/gthreadpool.c: Updated the documentation to explain that
687 when the maximum threads is > 1 the sort functionality is not 100%
688 accurate due to the ramdom nature of the scheduler choosing which
689 threads to execute. Fixes bug #334943.
691 * tests/threadpool-test.c: Disabled the debugging by default and
692 fixed the sort test to set the maximum threads to 1 to guarantee
693 the thread entry function is called in order.
695 2006-03-23 Matthias Clasen <mclasen@redhat.com>
697 === Branch for 2.10 ===