2005-06-22 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (parse_short_option, parse_long_option):
Pass the option name also in the NO_ARG case. (#308602,
Masatake YAMATO)
2005-06-22 Tor Lillqvist <tml@novell.com>
* glib/gfileutils.c (g_makepath): New function. Creates a
directory including intermediate parent directories as
needed. (#60509)
* glib/gfileutils.h: Declare it.
* glib/glib.symbols: Add it.
* tests/testglib.c: Test it.
2005-06-22 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (g_get_host_name): New function. Returns the
machine's name, or one of its names. Document that it is
best-effort only, and not guaranteed to be unique or anything.
(g_get_any_init): Get the host name here. On Unix use
gethostname(), on Windows use GetComputerName(). (#5200)
* glib/gutils.h
* glib/glib.symbols: Add here, too.
* tests/testglib.c: Test it.
2005-06-18 Matthias Clasen <mclasen@redhat.com>
* glib/goption.h:
* glib/goption.c: Add G_OPTION_FLAG_NO_ARG and
G_OPTION_FLAG_FILENAME to allow greater control of
G_OPTION_ARG_CALLBACK options. (#302632, Dan Winship)
* tests/option-test.c: test callback args
2005-06-08 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (get_windows_directory_root): New helper function
on Win32, returns the root of the drive (or possibly share) where
the Windows directory is. (In the case of Terminal Server sessions
the Windows directory is a per-user folder.)
(g_get_any_init): Use get_windows_directory_root() as last resort
for both temp directory and home directory. g_get_home_dir() now
never returns NULL on Win32. Don't look at HOMEDRIVE and
HOMEPATH. HOME, USERPROFILE, CSIDL_PROFILE and Windows directory
drive root should be enough.
2005-06-08 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols:
* glib/gunicode.h:
* glib/gunicollate.c (g_utf8_collate_key_for_filename):
New function to calculate collation keys which are more
suitable for sorting filenames. (#172690, Ole Laursen)
2005-05-27 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (parse_short_option, parse_long_option):
Return an error if an option is missing its argument. (#305576,
Björn Lindqvist)
* tests/option-test.c (missing_arg_test): Add a testcase.
2005-05-24 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (print_help): If the remaining argument
has an arg_description, display the synopsis as
PROGNAME [OPTION...] REST (#305346, Noah Levitt)
2005-05-20 Federico Mena Quintero <federico@ximian.com>
Merged from glib-2-6:
* glib/gspawn.c (g_spawn_command_line_sync): Clarify the meaning
of exit_status(); it's not the return code from the child, but
rather the waitpid() status.
2005-05-18 Matthias Clasen <mclasen@redhat.com>
* glib/gunidecomp.c: Correct the end of the Hangul
Syllables range, from 0xd7af to 0xd7a3, in several
places. (#301984, Changwoo Ryu)
2005-05-17 Matthias Clasen <mclasen@redhat.com>
* tests/tree-test.c (main): Check the return values of
g_tree_remove().
* glib/gtree.c (g_tree_remove, g_tree_steal): Return
a boolean indicating wether the key was found. (#302545,
Matthew F. Barnes)
2005-05-06 Brian Cameron <brian.cameron@sun.com>
* configure.in, gmodule-no-export-2.0-uninstalled.pc.in,
Makefile.am: Added gmodule-no-export-2.0-uninstalled.pc.in
to allow building of other libraries like pango when
glib is uninstalled.
2005-05-06 Matthias Clasen <mclasen@redhat.com>
* tests/option-test.c: Add a testcase.
* glib/goption.c (g_option_context_parse): Treat '-'
on its own as a non-option argument. (#168008, Tim Musson,
Thomas Leonard and others)
2005-05-05 Owen Taylor <otaylor@redhat.com>
* gobject.[ch] gobject.symbols: Add
g_object_add/remove_toggle_ref() functions to get notification
when a reference count is the last remaining reference; this
enables better memory management for language bindings.
(http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html)
2005-05-05 Owen Taylor <otaylor@redhat.com>
* glib/gdataset.[ch] glib/gdatasetprivate.h: Add
g_datalist_set/unset_flags(), g_datalist_get_flags() functions
to squeeze some bits into a GDataSet... this is needed for
efficient implementation of toggle references in GObject.
* tests/gobject/references.c tests/gobject/Makefile.am:
Add a test case for weak and toggle references.
* glib/gfileutils.[ch]: Rename g_file_replace() back
to g_file_set_contents().
* glib/glib.symbols: Update.
2005-05-05 Owen Taylor <otaylor@redhat.com>
* glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt:
Update
* gobject/tmpl/objects.sgml: Document toggle-references.
2005-04-28 Matthias Clasen <mclasen@redhat.com>
* glib/gstrfuncs.c (g_strcompress): Warn and don't crash
when meeting a trailing \\. (#301373, Benjamin Otte)
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().
2005-03-09 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (g_get_user_data_dir, g_get_user_config_dir,
g_get_user_cache_dir, g_get_system_data_dirs,
g_get_system_config_dirs): [Win32] Don't leak return value from
get_special_folder(). (#169348, Daniel Atallah) Guard against
g_home_dir being NULL, use g_tmp_dir/g_user_name in that case.
2005-03-07 Matthias Clasen <mclasen@redhat.com>
* glib/gutils.c (g_find_program_in_path): Mark the last
paragraph of the docs as Windows-specific. (#169433)
2005-02-24 Tor Lillqvist <tml@novell.com>
* Makefile.am (BUILT_EXTRA_DIST): Don't distribute
glib.def. (#167496, J. Ali Harlow)
* gobject/Makefile.am (EXTRA_DIST): Don't distribute
gobject.def. (#167496, J. Ali Harlow)
2005-02-23 Matthias Clasen <mclasen@redhat.com>
* configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD
on non-linux platforms. (#168177, Michael Banck)
2005-02-23 Matthias Clasen <mclasen@redhat.com>
* tests/keyfile-test.c (test_locale_string): Set LANGUAGE
instead of LC_ALL to shield against LANGUAGE being set in
the environment. (#168311, Suren A. Chilingaryan)
Tue Feb 22 22:03:38 2005 Manish Singh <yosh@gimp.org>
* glib/gstdio.h: On G_OS_UNIX, simple #define g_open and co. as
aliases for their respective C library functions, instead of
using the function wrappers. This avoids library users having to
care about matching large file support with whatever glib has been
built with. Fixes bug #167942.
* glib/gstdio.c
* glib/abicheck.sh
* glib/glib.symbols
* glib/makegalias.pl: Logic to make the gstdio wrappers still
available for compatibility, but not used in new code.