2004-11-08 Matthias Clasen <mclasen@redhat.com>
* glib/gmain.c: Initialize child_watch_count to 1, so
that we don't miss the very first child if it exits
before we set up the child watch. In that case we had
previously source->count == child_watch_count == 0,
causing g_child_watch_check() to skip the waitpid()
call. (#154827, Gustavo Carneiro)
* glib/gmain.c (g_child_watch_source_init_single)
(g_child_watch_source_init_multi_threaded): Use sigaction()
instead of signal(). (#136867, Jonas Jonsson, patch by
Archana Shah)
2004-11-06 Tor Lillqvist <tml@iki.fi>
* glibconfig.h.win32.in: Cosmetics: move the G_GNUC_INTERNAL
define to the same place where it is in a configure-generated
glibconfig.h
2004-11-04 Tor Lillqvist <tml@iki.fi>
* glib/goption.h (enum GOptionFlags): Add G_OPTION_FLAG_REVERSE,
to reverse the sense of a G_OPTION_ARG_NONE (boolean) option.
* glib/goption.c (parse_arg): Obey the above flag.
2004-11-04 Tor Lillqvist <tml@iki.fi>
* glib/gconvert.c (g_filename_display_name): Document that the
result is guaranteed to be non-NULL.
* glib/gfileutils.c (get_contents_stdio, get_contents_regfile,
get_contents_posix, get_contents_win32, g_file_open_tmp,
g_file_read_link): Use g_filename_display_name() for error
messages.
(g_mkstemp): Document that the template should be in the GLib file
name encoding.
(g_file_open_tmp): Ditto. Also document that the actual name
returned is also in the GLib file name encoding.
2004-11-01 Ray Strode <rstrode@redhat.com>
* glib/gkeyfile.c:
(g_key_file_get_locale_string): don't return an
error if we come across a value with invalid utf8 or
if we don't find a translated string. Just fallback
to the untranslated string (Mark McLoughlin, bug
#156790).
* glib/gkeyfile.c:
(g_key_file_init), (g_key_file_clear): track the
actual start GKeyFileGroup rather than just its name
(g_key_file_parse_group): allow add_group() to
update the start group.
(g_key_file_remove_group_node): update the start
group if it gets removed (Mark McLoughlin, bug
#156790).
* glib/gkeyfile.c:
(g_key_file_parse_string_as_value): Don't escape
tabs and spaces in the middle of key values.
2004-11-01 Matthias Clasen <mclasen@redhat.com>
Handle conflicts between options in different groups. (#156808)
* glib/goption.c (g_option_context_parse): When a long option does not
match exactly, try to parse it as --group-option.
(g_option_context_add_group): Warn if a group name conflict occurs.
* glib/goption.c (print_help): Print out the effective options, ie
don't print shadowed short options, and for long options print
--group-option instead of --option if appropriate.
2004-10-29 Hans Breuer <hans@breuer.org>
* glibconfig.h */makefile.msc.in : updated [and finally fixed my
script to produce ready to go de-in(ed) files, w/o autotools]
* */*.rc.in : updated copyrights to 2004
* glib/gutils.c : some CSIDL_* defines lacking from older SDK;
use the same fallback mecahnism as on *NIX where ever applicable
2004-10-29 Matthias Clasen <mclasen@redhat.com>
* tests/option-test.c: Add tests for the handling of
non-option arguments, "--" and G_OPTION_REMAINING.
* glib/goption.[hc]: #define G_OPTION_REMAINING, which is
a special long option name, which can be used for an option
in the main group which collects the non-option arguments.
It must be of type G_OPTION_ARG_STRING_ARRAY or
G_OPTION_ARG_FILENAME_ARRAY. If the main group doesn't contain
an option whose name is G_OPTION_REMAINING, the non-option
arguments are left behind in argv as before.
2004-10-29 Tor Lillqvist <tml@iki.fi>
* glib/giochannel.h (g_io_channel_new_file): Redefine also
g_io_channel_new_file to the UTF-8 version on Win32. [156725,
Kazuki IWAMOTO)
2004-10-28 Ray Strode <rstrode@redhat.com>
* glib/gkeyfile.c
(find_file_in_data_dirs): clean up a leak (#156652,
Morten Welinder)
(g_key_file_load_from_fd): propagate fstat() error
conditions and retry read on EAGAIN (#156647, Morten
Welinder). Return error if file is NOT regular, not if
it is regular (bug introduced from last commited bug
fix).
(g_key_file_load_from_data_dirs): allocate enough space
for the terminating NULL.
2004-10-27 Ray Strode <rstrode@redhat.com>
* glib/gkeyfile.c:
(g_key_file_load_from_fd),
(g_key_file_load_from_file):
Move file is regular check to load_from_file to use
fstat() instead of race prone g_file_test(). Don't
clear/init until needed. Change error messages to be
more consistent.
(g_key_file_load_from_data),
(g_key_file_load_from_data_dirs),
(g_key_file_parse_data),
(g_key_file_get_value),
(g_key_file_get_string),
(g_key_file_set_string),
(g_key_file_get_string_list),
(g_key_file_set_string_list),
(g_key_file_set_locale_string),
(g_key_file_get_locale_string),
(g_key_file_set_locale_string_list),
(g_key_file_get_boolean),
(g_key_file_set_boolean),
(g_key_file_get_boolean_list),
(g_key_file_set_boolean_list),
(g_key_file_get_integer),
(g_key_file_get_integer_list),
(g_key_file_set_integer_list),
(g_key_file_remove_key):
Add more g_return_*if_fail checks for public functions.
2004-10-27 Matthias Clasen <mclasen@redhat.com>
Introduce the idea of a filename encoding, which is
*literally* the filename encoding on Unix. On windows,
use the Unicode name converted to UTF-8. (#156325,
Tor Lillqvist, Owen Taylor)
* glib/gdir.[hc]:
* glib/gconvert.[hc]:
* glib/gfileutils.[hc]:
* glib/gutils.[hc]:
* glib/giowin32.c: On Windows, keep old ABI versions
of GLib pathname api for DLL ABI stability. Use different
names for the new-style UTF-8 versions. Hide this through
a #define.
* glib/gstdio.[hc]: New files containing wrappers for
POSIX pathname api.
* glib/glib.symbols: Add new symbols.
* glib/makegalias.pl: Drop Win32 specific .def syntax,
include gstdio.h
2004-10-26 Matthias Clasen <mclasen@redhat.com>
* glib/gwin32.c (g_win32_get_windows_version): Make this
function thread-safe in the GLib style.
* glib/gthreadinit.h:
* glib/gwin32.c (_g_win32_thread_init): New function to
initialize the version.
* glib/gthread.c (g_thread_init_glib): Call
_g_win32_thread_init() from here.