2007-01-03 Behdad Esfahbod * glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth), (calculate_max_length), (print_entry), (print_help): Take double-width chars into consideration when computing width of a string. Also fix another bug in width computation. (#346955) 2007-01-03 Behdad Esfahbod * glib/gutils.h: Fix bug in g_bit_nth_lsf (#371631) and use __builtin_clzl for g_bit_storage if available (#371670). * tests/Makefile.am: * tests/bit-test.c: New test, to test g_bit_* operations against naive and builtin implementations. 2007-01-02 Matthias Clasen * configure.in: Avoid warnings from running libtool --config. (#391364, Loïc Minier) 2007-01-02 Matthias Clasen * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Return an error if the uri is bad. (#391370, Maciej Piechotka) 2007-01-02 Michael Natterer * configure.in * Makefile.am: remove references to build/ until a proper decision has been made what to do with it. 2007-01-01 Matthias Clasen * glib-gettextize.in: Silence autoconf warnings about datarootdir. (#391367, Loïc Minier) 2007-01-01 Matthias Clasen * glib/gkeyfile.c: Convert the recently added stricter keyfile syntax checks into critical warnings, to help apps which do bad things with key files. Note that the stricter checks will remain in place for 2.14. (#390532, Loïc Minier) * tests/keyfile-test.c: Adapt 2006-12-31 Matthias Clasen * glib/gslice.c: Fix some C99isms. (#390913, Kazuki Iwamoto) Fri Dec 29 13:28:07 2006 Tim Janik * glib/gslice.c: turned detection of too late g_thread_init() calls into a warning. this is a temporary work-around for some head-room to fix affected programs, memory corruption still occours regardless. 2006-12-29 Matthias Clasen * tests/gobject/Makefile.am: * tests/gobject/dynamictype.c: New test for dynamic type registration macros. Thu Dec 28 21:14:45 2006 Tim Janik * glib/gslice.c: removed pthread-dependant debugging bits, the code was already converted to GMutex. this obsoletes Tor's recent fixups. 2006-12-28 Tor Lillqvist * glib/gutils.h (G_WIN32_DLLMAIN_FOR_DLL_NAME) * glib/gutils.c (get_windows_directory_root): : Use only the wide character API here, too. * glib/gslice.c: Make it compile on Win32 without pthreads: Use a Win32 critical section instead. * glib/gmessages.c (g_logv): On Win32, if we get a fatal error message while being debugged we break into the debugger with G_BREAKPOINT(). Don't call abort() if the user is foolhardy enough to continue after the breakpoint. The user presumably knows what he is doing and deserves what he gets. (#376645, Andreas Köhler) Thu Dec 28 12:50:31 2006 Tim Janik * glib/gslice.h, glib/gslice.c: implemented static debugging hash-tree to validate slice adresses and sizes with G_SLICE=debug-blocks. use abort() to exit in mem_error() to allow catching of these in gdb. abort programs with a descriptive error message if g_thread_init() is called after GSlice was in use. previously this just silently corrupted the magazines. * glib/ghash.c (struct _GHashNode): reordered fields to keep 8-byte pointer alignment on 64bit systems and request smaller slice sizes on 32bit systems. * tests/slice-test.c: support '~' option flag to introduce slice allocation/release corruption with a significant probability. this allowes testing of G_SLICE=debug-blocks. 2006-12-27 Matthias Clasen * configure.in: Use AC_CACHE_CHECK for the nl_langinfo check. (#304517, Lőrinczy Zsigmond) 2006-12-27 Matthias Clasen * glib/gunicollate.c (g_utf8_collate_key): Don't modify the current locale. (#389300) 2006-12-24 Matthias Clasen * tests/run-collate-tests.sh: * tests/unicode-collate.c: Silently skip tests if we can't set LC_COLLATE to en_US. (#336438) 2006-12-20 Matthias Clasen * configure.in: Bump version to 2.12.7 * === Released 2.12.6 === * NEWS: Updates 2006-12-19 Matthias Clasen * glib/gkeyfile.c (g_key_file_is_key_name): Accept '/', '+' and '.' in key names, since gnome-vfs uses mime types as keys in some cache. 2006-12-18 Matthias Clasen * configure.in: Fix the broken poll test. (#387260, Christian Persch) * glib/gmain.c (child_watch_helper_thread): Readd a return which was removed as dead code a while ago. icc may consider it dead, but gcc doesn't like non-void functions without a return... (#354707) * configure.in: Bump version to 2.12.6 * === Released 2.12.5 === * NEWS: Updates * tests/Makefile.am: Try a different fix for bug 346373. 2006-12-18 Matthias Clasen Fix bug 161288: * configure.in: Check for wcslen. * glib/gnulib/vasnprintf.c: Handle wcslen missing. 2006-12-18 Matthias Clasen * glib/gkeyfile.c: Accept '@' in locale names. * tests/keyfile-test.c: Add a test for sr@Latn. * glib/gkeyfile.c: Tighten up the check for allowed key and group names. (#343191, Tommi Komulainen) * tests/keyfile-test.c: Test handling of key and group names. * tests/Makefile.am: Don't use $RANDOM if the shell doesn't have it. (#346373, Thomas Klausner) 2006-12-17 Matthias Clasen * glib/gconvert.c: * glib/gutf8.c (_g_charset_get_aliases): Put the G_GNUC_INTERNAL where gcc doesn't complain about it. * glib/ghash.c: Make ref_count an int to avoid compiler warnings. * configure.in: Use AC_LANG_SOURCE for the clock test. * glib/gthreadpool.h: * glib/gthreadpool.c (g_thread_pool_free): Don't use "wait" as parameter name. (#379207, Christian Biere) * configure.in: Make montonic clock test work again. Does AC_COMPILE_IFELSE not get confdefs ? * tests/run-markup-tests.sh: Don't use diff -u (#380801, Marek Rouchal) * glib/gspawn.c: Fix the recent fdwalk()-related changes to not break mapping-test. (#386838, Marco Barisione) 2006-12-16 Matthias Clasen * configure.in: Use AC_COMPILE_IFELSE for the monotonic clock test. (#362918, Han-Wen Nienhuys, Jeremy Lainé) 2006-12-15 Matthias Clasen * glib/giochannel.h: Make ref_count a gint to avoid compiler warnings. (#321977, Andrew Paprocki) * configure.in: On Solaris, set CFLAGS and LDFLAGS that work both with Sun cc and gcc. (#315061, Lazlo Peter) * glib/gspawn.c: Undefine READ_OK to fix the build on old versions of Darwin. (#327800) * glib/guniprop.c (interval_compare): Avoid a compiler warning. * glib/gspawn.c (do_exec): Call set_cloexec() with the right parameters. (#386252, Guillaume Desmottes) 2006-12-15 Matthias Clasen Fix #357585, Padraig O'Briain. * configure.in: Check for fdwalk. * glib/gspawn.c (do_exec): Use fdwalk() to close all file descriptors. * glib/gspawn.c (fdwalk): Fallback implementation of fdwalk. 2006-12-14 Matthias Clasen * glib/gconvert.c (open_converter): Don't use alloca and avoid allocating memory for small keys that are already cached. (#172406, Morten Welinder) 2006-12-14 Matthias Clasen * glib/gkeyfile.c (g_key_file_add_group): If the group is already there, make it current. (#385910, Joe Halliwell) * tests/keyfile-test.c: Add a test for duplicate groups/keys. 2006-12-13 Matthias Clasen * m4macros/glib-gettext.m4: Require AC_CANONICAL_HOST in GLIB_WITH_NLS. (#385132, Laszlo Peter) 2006-12-12 Matthias Clasen * configure.in: Add a check for broken poll on Mac OS X. * glib/gmain.c: Use poll emulation on OS X. (#302672, Toby Peterson, patch by Dave Vasilevsky) 2006-12-11 Matthias Clasen * glib/gatomic.c: Don't use local numeric labels in inline assembler on AIX. (#316434, Hans Rosenfeld) * glib/gunicode.h (g_utf8_next_char): Cast to const char *, not char *. (#138153, Nikolai Weibull) 2006-11-15 Matthias Clasen * m4macros/glib-gettext.m4: Apply a patch from James Henstridge for compatibility with automake 2.60 (#343825) 2006-11-14 Behdad Esfahbod * sanity_check: Replace bash-specific == with sh-understood =. Fixes bug #373864. 2006-10-16 Behdad Esfahbod * glib/gnulib/Makefile.am: Add $(GLIB_DEBUG_FLAGS). (#362543, Peter Kjellerstedt) 2006-10-15 Sebastian Wilhelmi * tests/Makefile.am: Compile errorcheck-mutex-test with thread libraries explicitly. (#362328, Javier Villavicencio) 2006-10-08 Matthias Clasen * tests/run-markup-tests.sh: Small portability fix. (#347944, Dan McMahill) 2006-10-07 Tor Lillqvist * glib/gwin32.c (get_package_directory_from_module) (g_win32_get_package_installation_directory): g_strdup the keys that we are passed before adding them to the hash tables, to guard against the caller freeing them. (#355955, Andreas Köhler) 2006-10-06 Matthias Clasen * glib/gtimer.c: Fix a typo. (#359190) 2006-10-01 Matthias Clasen * configure.in: Bump version * === Released 2.12.4 === * NEWS: Updates * glib/gtimer.c (g_usleep): Use nsleep to implement g_usleep on AIX. (#321974, Andrew Paprocki) * configure.in: Check for nsleep * glib/gmain.c: Fix typos in doc comments. (#358421, Tom Tromey) 2006-09-30 Matthias Clasen * glib/pltcheck.sh: A script to check PLT entries. * glib/Makefile.am (TESTS): Run pltcheck.sh * glib/*: Fix includes to correct some issues with PLT entries. (#354522, Behdad Esfahbod) 2006-09-10 Matthias Clasen * glib/gstdio.c (g_rename): Initialize save_errno. (#355206, Mike Edenfield) 2006-09-01 Abel Cheung * configure.in: Added 'dz' 'hy' to ALL_LINGUAS. 2006-09-01 Matthias Clasen * configure.in: Check for CLOCK_MONOTONIC. * glib/gtimer.c: Only use clock_gettime if we have a monotonic clock. 2006-08-31 Matthias Clasen * configure.in: Add missing includes to a few test programs. (#353580, Chris Wilson) 2006-08-30 Matthias Clasen * glib/gmarkup.c (g_markup_vprintf_escaped): Don't call va_end on caller-provided va_args. (#353584, Chris Wilson) * Bump version * === Released 2.12.3 === * NEWS: Updates 2006-08-27 Matthias Clasen * configure.in: Fix the pthread compiler flag detection more. * configure.in: Check for clock_gettime. * glib/gtimer.c: Use Posix monotonic clocks instead of gettimeofday when available. (#336114, William Jon McCann) 2006-08-25 Matthias Clasen * configure.in: Fix the pthread compiler flag detection. * glib/gunicode.h: * glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8 from gconvert.c, move it to gutf8.c, and export it privately. * glib/gconvert.c (g_filename_display_name): Adjust callers. * glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of places to ensure error messages are valid UTF-8. (#351853, Simon Budig) 2006-08-20 Tor Lillqvist * glib/gnulib/vasnprintf.c (vasnprintf): Fix crash when printing large 64-bit values on Win32 using the %I64x format. (#351034, Neil Piercy) Wed Aug 16 13:59:07 2006 Tim Janik * tests/gobject/Makefile.am: * tests/gobject/singleton.c: added test program which demonstrates and checks singleton construction. 2006-08-15 Matthias Clasen * glib/gbookmarkfile.c (g_bookmark_file_get_groups): * glib/gmain.c (g_source_is_destroyed): Add Since tags. * glib/gkeyfile.c (g_key_file_get_double_list): Fix Since tag. (#351583, Brian Cameron) * configure.in: Bump version * === Released 2.12.2 === * NEWS: Updates 2006-08-08 Emmanuele Bassi * glib/gbookmarkfile.c (g_bookmark_file_remove_group) (g_bookmark_file_set_app_info): Plug a couple of leaks when removing data from a bookmark. 2006-08-05 Matthias Clasen * glib/gbookmarkfile.c (find_file_in_data_dirs): Correct the grammar of an error message. (#349792, Jakub Friedl) * glib/gkeyfile.c (g_key_file_to_data): Don't insert unnecessary newlines in keyfiles. (#349825, Chris Wilson) * glib/guniprop.c (g_unichar_toupper, g_unichar_tolower) (real_toupper, real_tolower): If a character can't be converted, don't replace it with a NUL byte, but leave it unchanged. (#348491, Nikolai Weibull) * tests/unicode-caseconv.c: Adapt to this change. * tests/unicode-caseconv.c (main): Add a comment to point out a quirk in the test data that we are working around here. 2006-07-31 Behdad Esfahbod * glib/guniprop.c (g_unichar_isxdigit): Make it only accept those characters that we accept i g_unichar_xdigit_value(), i.e. don't accept non-decimal digits. (#347842, Nikolai Weibull) 2006-07-31 Behdad Esfahbod * glib/gunidecomp.c (_g_utf8_normalize_wc): Update to reflect Unicode PR #29 (#348694, Nikolai Weibull) * tests/unicode-normalize.c (encode), (test_form): Make output more useful, reporting the unexpected output of the test. 2006-07-24 Tor Lillqvist * tests/slice-test.c: Use g_get_current_time() insted of gettimeofday(). 2006-07-22 Matthias Clasen * configure.in: Bump version * === Released 2.12.1 === * glib/gconvert.c: Fix the prototype of _g_charset_get_aliases. (#346494, Thomas Klausner) * NEWS: Updates 2006-07-21 Behdad Esfahbod * glib/gmirroringtable.h: Updated to Unicode Character Database 5.0.0. 2006-07-20 Matthias Clasen * glib/guniprop.c (real_toupper, real_tolower): Small optimization. (#348011, Nikolai Weibull) 2006-07-19 Behdad Esfahbod * glib/gunibreak.h: * glib/gunichartables.h: * glib/gunicomp.h: * glib/gunidecomp.h: Update to final Unicode Character Database 5.0.0. (#336281) 2006-07-06 Behdad Esfahbod * glib/gutils.c (g_parse_debug_string): When matching debug flag keys, ignore case and accept any of comma, colon, semicolon, space, and tab as separators. Also, match dash with underscore. 2006-07-05 Matthias Clasen * glib/gbase64.c: Fix typos in the docs. (#346660, Mark Drago) 2006-07-03 Runa Bhattacharjee * configure.in: Added Bengali India (bn_IN) in ALL_LINGUAS. 2006-07-02 Matthias Clasen * configure.in: Bump version * === Released 2.12.0 === 2006-06-30 Matthias Clasen * NEWS: Updates * configure.in: Set version to 2.12.0 2006-06-20 Matthias Clasen * glib/gtimer.c (mktime_utc): Fix an off-by-2 error in the leap year calculation. (#344905, Dan Winship) * tests/testglib.c (main): Change the test data for the g_time_val_from_iso8601 tests to expose an off-by-2 error in the leap year calculation. * configure.in: Bump version * === Released 2.11.4 === * NEWS: Updates 2006-06-16 Matthias Clasen * tests/file-test.c (test_mkstemp): Add tests. * glib/gfileutils.c (g_mkstemp): Allow the XXXXXX to occur inside the template, not just at the end. 2006-06-14 Matthias Clasen * glib/gkeyfile.c (g_key_file_to_data): Separate groups by an empty line (#344868, Christian Persch) 2006-06-14 Tor Lillqvist * glib/gutils.c (g_listenv): Add Windows notes to doc comment. 2006-06-12 Emmanuele Bassi * glib/gbookmarkfile.h: * glib/gbookmarkfile.c (g_bookmark_file_remove_item): Return a boolean instead of void. * tests/bookmarkfile-test.c (test_modify): Add a test case for g_bookmark_file_remove_item(). 2006-06-12 Matthias Clasen * Bump version * === Released 2.11.3 === * NEWS: Updates 2006-06-09 Emmanuele Bassi * glib/gbookmarkfile.c (g_bookmark_file_remove_application): Use an empty string to pass the test in set_app_info. (g_bookmark_file_move_item): Remove the old item from the look up table; return success in case of empty target. 2006-06-08 Tor Lillqvist * glib/gunicollate.c (msc_strxfrm_wrapper): Workaround for bug in strxfrm() in Microsoft's newer C runtimes. (#343919, Kazuki Iwamoto) 2006-06-05 Matthias Clasen * configure.in: Bump version * === Released 2.11.2 === * configure.in: Set interface age to 0. * NEWS: Updates * glib/gmain.c: Fix some doc formatting issues. * glib/gstrfuncs.c: Revert accidental commit. * glib/gmain.c (get_dispatch): Don't leak the dispatch struct. (#321886) * tests/strtod-test.c: Add some tests involving leading whitespace. * glib/gstrfuncs.c (g_ascii_formatd): Skip leading whitespace. (#343899, Øystein Johansen) 2006-06-01 Matthias Clasen * glib/gmain.h: * glib/gmain.c: Add three new functions, g_main_current_source, g_source_set_funcs and g_source_is_destroyed, that will be necessary to solve thread-safety issues with idles in GTK+. (#321886, Chris Wilson) 2006-06-01 Matthias Clasen * glib/giochannel.c (g_io_channel_write_chars): Avoid running in an assertion with small writes. (#343566, Chris Wilson) * tests/iochannel-test.c: Add a testcase for small writes. * glib/glib.symbols: * glib/ghash.h: * glib/ghash.c: Add g_hash_table_{remove,steal}_all to remove all nodes from a hash table. (#168538, Matt Barnes) 2006-06-01 Behdad Esfahbod * glib/gkeyfile.c (g_key_file_to_data), (g_key_file_parse_value_as_comment), (g_key_file_parse_comment_as_value): * glib/gscanner.c (g_scanner_get_token_ll): Cleanup. Use return value of g_string_free(...). (#343548, Chris Wilson) 2006-05-28 Matthias Clasen * glib/gmarkup.c (g_markup_parse_context_parse): Don't use g_str_has_{prefix,suffix} here. 2006-05-28 Matthias Clasen * glib/gmarkup.h: Add a GMarkupParseFlags flag for treating CDATA as text. * glib/gmarkup.c (g_markup_parse_context_parse): Implement it here. 2006-05-28 Matthias Clasen * tests/markups/expected-*: Output that test-markup is expected to produce when run on the valid gmarkup examples. * tests/markup-test.c: Only dump the results of the first, unchunked parse, to compare it against the expected output. * tests/run-markup-tests.sh: For valid examples, compare the output of test-markup against the corresponding expected- file. 2006-05-24 Matthias Clasen * configure.in: Don't compile timeloop on Minix. (Leonard den Ottolander) 2006-05-22 Sebastian Wilhelmi * glib/gthread.c (g_thread_init_glib): Run _g_atomic_thread_init as the first of the full fledged initializers to allow the later to potentially use atomic ints (which they currently do not). (#342563, Peter Kjellerstedt) 2006-05-16 Matthias Clasen * tests/Makefile.am: * tests/strtoll-test.c: Add tests for g_ascii_strtoll() and g_ascii_strtoull(). * glib/glib.symbols: * glib/gstrfuncs.h: * glib/gstrfuncs.c (g_ascii_strtoll): New function to parse signed 64bit integers like strtoll does. * glib/goption.c (parse_int64): Use g_ascii_strtoll(), since strtoll() is C99 and not available on some systems. (#341826, Kazuki Iwamoto) 2006-05-15 Matthias Clasen * configure.in: Bump version * === Released 2.11.1 === * NEWS: Updates 2006-05-13 Matthias Clasen * glib/grel.c: Fix several cases of deref-before-NULL-check. (#341191, Pascal Terjan) * glib/glib.symbols: * glib/goption.h: * glib/goption.c: Allow optional summary and description texts before and after the option descriptions, and add a way to translate them. (#336120, Behdad Esfahbod) 2006-05-12 Tor Lillqvist * glib/giowin32.c (g_io_win32_sock_set_flags): Implement setting/clearing G_IO_FLAG_NONBLOCK for channels attached to sockets. (#341192) (g_io_win32_unimpl_set_flags): set_flags method for the unimplemented case. 2006-05-11 Bastien Nocera * glib/goption.c: (parse_int64), (parse_arg), (free_changes_list): * glib/goption.h: * tests/option-test.c: (arg_test6), (main): add an int64 type for GOption (G_OPTION_ARG_INT64) (#341237) 2006-05-10 Sebastian Wilhelmi * glib/gthread.h, gthread/gthread-impl.c: Make the magic and location arguments to the error-checking-mutex functions const and do not write to them, as we might not own them. Clean up the error-checking-mutex code quite a bit. (#335198, Chris Wilson) * glib/gthread.c: Use g_atomic_pointer_set instead of old homegrown version now that we have it. (#335198, Chris Wilson) * gthread/gthread-posix.c, gthread/gthread-win32.c: Prevent calling into g_cond_wait resp. g_mutex_lock/unlock directly to avoid recursions into the errorcheking mutex code (and out of principle anyway). (#335198, Chris Wilson) * tests/errorcheck-mutex-test.c: Adapt to GLib coding standards. 2006-05-09 Sebastian Wilhelmi * glib/gthreadinit.h: Renamed to glib/gthreadprivate.h and moved system thread identifier comparision and assignment macros from glib/gthread.c to glib/gthreadprivate.h. * glib/Makefile.am, glib/gatomic.c, glib/gconvert.c, glib/gmain.c, glib/gmem.c, glib/gmessages.c, glib/grand.c, glib/gslice.c, glib/gthread.c, glib/gutils.c, gthread/gthread-impl.c: Use glib/gthreadprivate.h instead of glib/gthreadinit.h. * gthread/gthread-impl.c: Use GSystemThread instead of GThread for owner determination. (#311043, jylefort@FreeBSD.org) * tests/Makefile.am, tests/errorcheck-mutex-test: New test program to test for all checked violations. * glib/gprintf.c, glib/gspawn-win32.c, glib/gutf8.c, gthread/gthread-impl.c, gthread/gthread-posix.c, gthread/gthread-win32.c: Use canonical include form for internal headers. config.h is always there. * Remove obsolete gthread/gthread-solaris.c. 2006-05-08 Matthias Clasen * tests/convert-test.c (test_one_half): Use encoding names which may work better on Solaris. (#340434, Alessandro Vesely) * tests/keyfile-test.c (test_number): Add some tests for invalid floating point numbers. * glib/gkeyfile.c (g_key_file_parse_value_as_double): Return an error for the empty string. (#339105, Morten Welinder) * glib/gscanner.c (g_scanner_config_template): Make const, noticed by Kjartan Maraas. 2006-05-06 Matthias Clasen * glib/gkeyfile.c (g_key_file_set_string_list) (g_key_file_set_locale_string_list): Fix invalid memory reads. (#340816, Nick Treleaven) 2006-05-04 Alexander Larsson * glib/gbase64.c: (g_base64_decode_step): Fix OOB write (#340538) 2006-05-03 Matthias Clasen * tests/base64-test.c: Add some more tests. * glib/gbase64.c (g_base64_decode_step): Avoid writing beyond the guaranteed lenght of the output buffer, if there is padding. * tests/base64-test.c (test_incremental): Use malloced memory instead of stack-allocated, so that MALLOC_CHECK_=2 catches the OOB write... * glib/gbookmarkfile.c (g_bookmark_file_load_from_data): Remove an overzealous return_if_fail check that causes make check to fail. 2006-05-02 Matthias Clasen * configure.in: Bump version * === Released 2.11.0 === * NEWS: Updates * tests/casemap.txt: * tests/casefold.txt: Regenerate from Unicode 5.0 data. * glib/guniprop.c: Make interval_compare static. Tue May 2 15:00:00 2006 Tim Janik * tests/gobject/deftype.c: added test code from Behdad Esfahbod, see #337128. Tue May 2 14:18:25 2006 Tim Janik * glib/goption.c (g_option_context_parse): fixed leak in short option parsing. rewrote parts of the code to be more concise to enhance readability. fixed exaggerated uses of strlen. 2006-04-28 Behdad Esfahbod * glib/guniprop.c: #include 2006-04-27 Matthias Clasen * glib/glib.symbols: Add g_unichar_iswide_cjk. * glib/guniprop.c: Add a "Since: 2.12". * NEWS: Updates 2006-04-27 Behdad Esfahbod * docs/reference/glib/glib-sections.txt, * glib/gunicode.h glib/guniprop.c: Implement g_unichar_iswide_cjk(). (#105626) 2006-04-27 Matthias Clasen * glib/gbookmarkfile.c (g_bookmark_file_set_description) (g_bookmark_file_set_title, g_bookmark_file_set_icon): Remove some special-casing of empty string which led to dangling pointers. (#339337, Morten Welinder) (expand_exec_line): Don't use printf() needlessly, handle trailing '%' gracefully. (#339338, Morten Welinder) (is_element_full): Silence the compiler. (g_bookmark_file_dump, bookmark_metadata_dump): (bookmark_app_info_dump): Escape strings before dumping them in xml. (#339340, Morten Welinder) 2006-04-27 Behdad Esfahbod * glib/gunibreak.h, glib/gunichartables.h: Regenerated using Unicode Character Database 5.0 beta. 2006-04-26 Matthias Clasen * glib/grand.c (g_rand_new): Don't repeat a failed fclose() call, since that invokes undefined behaviour. (Coverity) 2006-04-25 Matthias Clasen * glib/gbookmarkfile.c (is_element_full): Avoid a possible NULL dereference (found by Coverity), also avoid some pointless strdups. * tests/keyfile-test.c (test_comments): Add a test for the previous change. * glib/gkeyfile.c (g_key_file_lookup_group_node): Remove redundant code. (g_key_file_get_group_comment): Don't dereference before checking for NULL. (#338572, Coverity, Pascal Terjan) 2006-04-19 Matthias Clasen * glib/gdataset.c: Add some missing Since: 2.8 tags. 2006-04-19 Tor Lillqvist * glib/gatomic.c: Adapt to the changed prototype of InterlockedCompareExchange() in newer SDKs. Use InterlockedCompareExchangePointer() when applicable. (#155884, John Ehresman) 2006-04-18 Matthias Clasen * glib/gkeyfile.h: * glib/glib.symbols: * glib/gkeyfile.c: Add api to get and set doubles and lists of doubles. (#164719, Maurizio Monge, Dom Lachowicz) * tests/keyfile-test.c: Add tests for new api. * glib/gkeyfile.c (g_key_file_add_group): Accept duplicate groups. (#157877, Sebastien Bacher) * tests/keyfile-test.c: Add tests for duplicate key and duplicate group handling. 2006-04-17 Matthias Clasen * glib/gcompletion.c (g_completion_complete_utf8): Make passing NULL for new_prefix work as documented. (#338845, Yevgen Muntyan) * tests/completion-test.c: Test that passing NULL for new_prefix in g_completion_complete_utf8 works. 2006-04-17 Kjartan Maraas * configure.in: Remove obsolete entry for no_NO. * po/no.po: And the translation. 2006-04-16 Matthias Clasen * glib/gdate.c (g_date_fill_parse_tokens): Avoid an array overrun. (Coverity, fix by Pascal Terjan) 2006-04-12 Bastien Nocera reviewed by: Matthias Clasen * glib/gconvert.c: add more details about which RFC is concerned when using g_filename_to_uri (#337553) 2006-04-12 Matthias Clasen * glib/goption.c (parse_arg): Add an assert to make it clear when value can be NULL. 2006-04-07 Martyn Russell * tests/threadpool-test.c: (test_thread_stop_unused): Removed an assertion which can fail and is not a critical test. 2006-04-07 Hans Breuer * glib/makefile.msc.in : added gbase64.obj and derive the static libs name from auto* variables * glib/makefile.msc.in : link user32.lib for MessageBox() 2006-04-07 Martyn Russell * glib/gasyncqueue.[ch]: Added private API _g_async_queue_get_mutex so that g_thread_pool_free() can use the async queue mutex. * glib/gthreadpool.c: Make sure g_thread_pool_stop_unused_threads() actually stops unused threads and global limits (like max idle time and max unused threads) can be set without creating a thread pool first. Fixed #335215 (patch from Chris Wilson). * tests/threadpool-test.c: Added two new tests, tests setting global limits before creating a thread pool. The second test makes sure unused threads are actually stopped when using the g_thread_pool_stop_unused_threads(). 2006-04-05 Matthias Clasen * glib/gnulib/vasnprintf.c (vasnprintf): Make long long printing work if snprintf is not available. (#332841, Michael McDonald) 2006-04-05 Behdad Esfahbod * tests/option-test.c: Check the return value of g_get_prgname for NULL before passing to strcmp. * tests/slice-test.c: Report the correct name in Usage summary. 2006-04-05 Matthias Clasen * tests/run-collate-tests.sh: Fix up shell script. * tests/option-test.c (arg_test5): Skip the test if setting the locale fails. (empty_test1): Reset prgname before the test. * tests/Makefile.am: Arrange for run-bookmark-test.sh to be run by make check. * tests/utf8-pointer.c: * tests/tree-test.c: Silence warnings. 2006-04-04 Matthias Clasen * glib/glib.symbols: * glib/gbase64.[hc]: Add G_GNUC_MALLOC where appropriate, use glib types. 2006-04-04 Alexander Larsson * glib/Makefile.am: * glib/gbase64.[ch]: * glib/glib.symbols: Add base64 encode/decode functions * glib/glib.h: Include gbase64.h * tests/Makefile.am: * tests/base64-test.c: Tests for base64 functions 2006-04-04 Matthias Clasen * glib/gdate.c: Move short_month_names and long_month_names to bss. * glib/gspawn-win32.c (g_spawn_error_quark): * glib/gspawn.c (g_spawn_error_quark): * glib/gshell.c (g_shell_error_quark): * glib/gmarkup.c (g_markup_error_quark): * glib/goption.c (g_option_error_quark): * glib/gkeyfile.c (g_key_file_error_quark): * glib/giochannel.c (g_io_channel_error_quark): * glib/gfileutils.c (g_file_error_quark): * glib/gconvert.c (g_convert_error_quark): * glib/gbookmarkfile.c (g_bookmark_file_error_quark): * glib/gthread.c (g_thread_error_quark): No point in making the error path fast by caching quarks. * glib/gbookmarkfile.c: Make the parser struct const. 2006-04-04 Behdad Esfahbod * glib/gbookmarkfile.c: Fix accidentally broken build. 2006-04-03 Matthias Clasen * glib/gbookmarkfile.c: Don't include sys/time.h (#337027, Kazuki IWAMOTO) 2006-03-31 Tor Lillqvist * glib/gstdio.c (g_remove): Revert change below. It wasn't a good idea after all, says the original bug reporter. See bug for discussion. 2006-03-30 Tor Lillqvist * glib/gstdio.c (g_remove): [Win32] call rmdir() only if remove() fails with errno set to ENOENT, to leave errno set to EACCESS if that is the problem. (#334799, Yevgen Muntyan) 2006-03-30 Matthias Clasen * glib/gbookmarkfile.c (g_bookmark_file_get_app_info): Sync the parameter names with the .h files, otherwise gtk-doc misbehaves. 2006-03-27 Emmanuele Bassi * tests/.cvsignore: Add bookmarkfile-test to the ignored files. 2006-03-27 Emmanuele Bassi * tests/Makefile.am: * tests/bookmarkfile-test.c: * tests/run-bookmark-test.sh: * tests/bookmarks/*.xbel: Add test suite for GBookmarkFile. 2006-03-27 Emmanuele Bassi * docs/reference/glib/glib-docs.sgml: * docs/reference/glib/glib-sections.txt: * docs/reference/glib/tmpl/bookmarkfile.sgml: Add documentation for GBookmarkFile to GLib's reference guide. 2006-03-27 Emmanuele Bassi * glib/glib.h: * glib/gbookmarkfile.h * glib/gbookmarkfile.c: Add GBookmarkFile, a parser for files containing bookmarks stored using the Desktop Bookmark specification. Fixes bug #327662. * glib/glib.symbols: * glib/Makefile.am: * glib/makefile.msc.in: * glib/makefile.mingw.in: Build glue for GBookmarkFile. 2006-03-27 Dom Lachowicz * tests/option-test.c: Copy-and-paste error slipped into test5. Enable test5, as per Matthias' comments in bug 329548#c11. Change a gboolean to an int. Fixes bug #329789. * configure.in: Bump version number to 2.11.0 2006-03-27 Matthias Clasen Add support for floating point numbers to goption. (#329548, Behdad Esfahbod, patch by Antoine Dopffer and Dom Lachowicz) * glib/goption.h: * glib/goption.c: Support double arguments. * tests/option-test.c: Test double arguments.` 2006-03-26 Matthias Clasen * glib/goption.c (g_option_context_new): Improve the description of parameter_string in the docs. (#336085, Claudio Saavedra) 2006-03-24 Martyn Russell * glib/gthreadpool.c: Updated the documentation to explain that when the maximum threads is > 1 the sort functionality is not 100% accurate due to the ramdom nature of the scheduler choosing which threads to execute. Fixes bug #334943. * tests/threadpool-test.c: Disabled the debugging by default and fixed the sort test to set the maximum threads to 1 to guarantee the thread entry function is called in order. 2006-03-23 Matthias Clasen === Branch for 2.10 ===