2005-04-27 Tor Lillqvist <tml@novell.com>
* glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
call g_set_error() unless the GError pointer is non-NULL. This
avoids infinite recursion problems in certain rare situations on
Windows, when g_locale_from_utf8() is called from
_glib_get_locale_dir() after the change below. It's the
_glib_gettext() calls to translate error messages that are
parameters to g_set_error() that cause the recursion, not
g_set_error() itself.
* glib/gwin32.c (g_win32_locale_filename_from_utf8): New
function. Converts a filename to the system codepage, and if a
straight conversion isn't possible (because the filename contains
characters not in the system codepage), try looking up the
filename (which should refer to an existing file for this to
succeed) with short (8.3) pathname components.
* glib/gutils.c (_glib_get_locale_dir): No need to cache the
result, this function is normally called only once. Return the
path to the locale directory in system codepage, not UTF-8. The
path is passed to bindtextdomain(), which doesn't use UTF-8 file
names. Use g_win32_locale_filename_from_utf8(). (#301772)
Don't do run-time lookup of message catalog directory on
Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
we use paths fixed at configure time.
2005-04-19 Tor Lillqvist <tml@novell.com>
* glib/gutils.h: Minor comment improvement.
2005-04-18 Tor Lillqvist <tml@novell.com>
* glib/gfileutils.c: No <sys/wait.h> on Win32. Definition of
save_errno was missing in one place.
Sat Apr 16 20:15:44 2005 Soeren Sandmann <sandmann@redhat.com>
* glib/gfileutils.c (g_file_replace): Save the errno in various
places
* glib/gfileutils.c (set_umask_permissions): Fork a child and do
chmod() to the umask() permissions there.
2005-04-08 Tor Lillqvist <tml@novell.com>
Improve g_get_system_data_dirs() on Windows. A library that calls
g_get_system_data_dirs() might be installed in a different
top-level prefix than GLib or the application being run.
* glib/gutils.h (g_win32_get_system_data_dirs): New static
function defined in this header. Calls
g_win32_get_system_data_dirs_for_module() passing the address of
itself as parameter. g_get_system_data_dirs() is #defined as this
function.
* glib/gutils.c (g_win32_get_system_data_dirs_for_module): New
function. If the address parameter is non-NULL, the corresponding
module's installation location is used for one of the returned
path names, in addition to the COMMON_APPDATA, COMMON_DOCUMENTS,
glib top-level and application top-level folders.
(g_get_system_data_dirs): Now just for backward compatibility on
Win32. Just call g_win32_get_system_data_dirs_for_module(NULL).
* glib/glib.symbols: Add g_win32_get_system_data_dirs_for_module.
2005-04-08 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (read_aliases): Not used on Windows.
(unalias_lang): Don't do anything on Windows, there is no
/usr/share/locale/locale.alias file..
2005-04-08 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (g_get_system_data_dirs): After investigating more
closely the actual use cases of this function, I understand better
what it should do. In addition to the Windows COMMON_APPDATA and
COMMON_DOCUMENTS folders, also return the "share" subfolders of
GLib's installation location and the application .exe's
installation location, hoping that either matches what the
function's caller is looking for.
2005-04-03 Matthias Clasen <mclasen@redhat.com>
* glib/gutils.h: Undef G_CAN_INLINE if G_IMPLEMENT_INLINES is
defined. This was the pre-2.6 behaviour, and without it,
G_IMPLEMENT_INLINES cannot be used in multiple .c files
at all. (#165852, Dave Benson)
2005-04-01 Matthias Clasen <mclasen@redhat.com>
* glib/gmain.c (g_child_watch_source_new): Add a note regarding
waitpid(-1).
(g_child_watch_source_init_multi_threaded):
(g_child_watch_source_init_single): Don't use SA_RESTART,
since it causes problems on at least one platform. (#168352)
2005-03-30 Sven Neumann <sven@gimp.org>
* glib/gfileutils.c (get_contents_stdio): handle the unlikely case
that no bytes are read from the file and allocate an empty string.
2005-03-30 Tor Lillqvist <tml@novell.com>
* glib/giowin32.c (g_io_win32_fd_get_flags_internal): Always claim
file descriptors open to devices are readable, since we can't
know. fstat() doesn't gve any useful information.
2005-03-29 Tor Lillqvist <tml@novell.com>
* glib/gmain.c (g_get_current_time): [Win32] Use
GetSystemTimeAsFileTime() instead of time() and
GetTickCount(). Much simpler.
2005-03-29 Tor Lillqvist <tml@novell.com>
* glib/gmain.c (g_poll): If the event fired, assign
f->revents=f->events. We can't know whether the upper layer using
the event actually is readable, writeable or what, so say that all
the conditions hold. Remove the ResetEvent() call that has been
ifdeffed out anyway for a long time. Remove an "#ifdef 1" and
#endif pair of lines, that code is not optional.
2005-03-27 Tor Lillqvist <tml@novell.com>
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
after all, and in fact necessary with HEAD libtool.
2005-03-23 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (g_getenv): [Win32] Fix corner case bug when
environment variable value is exactly one character.
2005-03-20 Tor Lillqvist <tml@novell.com>
* glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
handle if the called doesn't want it also in the case without a
helper process.
(g_spawn_sync): Don't ask for a child pid which we don't need.
2005-03-20 Tor Lillqvist <tml@novell.com>
* glib/gmessages.c (g_log_default_handler)
* glib/gutils.c (g_get_prgname): Move the Win32 code that asks the
program name from the system to g_get_prgname(). Do output the pid
also on Win32 (useful in case there are several instances of the
same program running).
2005-03-20 Tor Lillqvist <tml@novell.com>
* tests/testglib.c (main): Print more detailled output from the
timer tests. Don't print home directory twice. Test
g_win32_error_message().
* tests/spawn-test.c (run_tests): On Win32, run netstat instead of
ipconfig. On Windows XP collecting output from ipconfig doesn't
seem to work for some reason.
2005-03-17 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.c: Update the documentation, reflecting the
fact that the special case for !group_name --> start_group
got removed. (#170566, Tim-Philipp Müller)
2005-03-15 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (g_option_context_set_main_group): Warn
if there already is a main group. (#170445, Jeff Franks)
2005-03-13 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in galias.h:
* glib/glib.symbols: Group symbols by header and source file.
* glib/makegalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegalias.pl -def
* glib/Makefile.am (galiasdef.c): Add a rule to generate this
file.
* glib/*.c: Include galias.h after the other GLib headers,
include galiasdef.c at the bottom.
Fri Mar 11 23:51:12 2005 Soeren Sandmann <sandmann@redhat.com>
* glib/gfileutils.c (write_to_temp_file): Don't try and generate
a dotfile from the name -- it doesn't work with absolute
paths. Also make documentation indicate that symlinks will be
overwritten. Both pointed out by Alexis S. L. Carvalho.
2005-03-10 Sven Neumann <sven@gimp.org>
* glib/gfileutils.c (get_contents_stdio): delay memory allocation
until after the first read. Saves a bunch of reallocs. Also
increased the buffer size to 4096 bytes. (bug #165954)
* tests/file-test.c (test_get_contents): added a (very basic) test
for g_file_get_contents().