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.
2004-10-26 Ray Strode <rstrode@redhat.com>
* glib/gkeyfile.c: Add Matthias to "Written by" lines
(GKeyFileGroup): add field to hold comments about groups
(g_key_file_load_from_fd): return TRUE on success and
FALSE on failure. Don't close fd's opened by other
parent function.
(g_key_file_load_from_file): run FILE_IS_REGULAR test
before trying to open file, to save an fd from being
leaked (would probably be better to use fstat()). Close
fd when done with it. Return TRUE on success and FALSE
on failure.
(g_key_file_load_from_data): Return TRUE on success and
FALSE on failure.
(g_key_file_load_from_data_dirs): remove superfluous
const modifier. Return TRUE on success and FALSE on
failure. Stop trying to load files when one succeeds.
(g_key_file_parse_key_value_pair): don't validate input
for UTF-8 until users uses a getter that does
validation. Don't leak copy of start_group_name.
(g_key_file_to_data): serialize new comment field for
groups.
(g_key_file_get_keys): Remove convenience code to let
NULL group mean start group. Get rid of unneeded NULL
check before g_strdup.
(g_key_file_get_groups): Reverse groups list before
sending to user because it is maintained in backward
order internally.
(g_key_file_get_value),
(g_key_file_set_value): add g_return checks at top of
public functions.
(g_key_file_get_string),
(g_key_file_get_string_list): validate key value is UTF-8.
(g_key_file_[sg]et_*comment): new functions for
setting/getting comments
(g_key_file_remove_comment): new function to remove
comment block
(g_key_file_remove_key_value_pair_node): new function to
pull a key-value pair out of the list and free it.
(g_key_file_remove_group_node): call
g_key_file_remove_key_value_pair_node instead of
freeing the list immediately to get better statistics
for approximate_size.
(g_key_file_remove_group): use lookup_group_node instead
of lookup_group to prevent a g_list_find call.
(g_key_file_add_key): report group also when unable to
find key.
(g_key_file_lookup_group_node): new function to make
getting the group node from a group name easier.
(g_key_file_lookup_group): use lookup_group_node under
the hood.
(g_key_file_lookup_key_value_pair_node): new function to
make getting the key-value pair from a group and key
name eaiser.
(g_key_file_parse_comment_as_value): new function to add '#' to the
beginning of every line.
(g_key_file_parse_value_as_comment): new function that
attempts to be the inverse of comment as value.
Mon Oct 25 15:05:18 2004 Manish Singh <yosh@gimp.org>
* autogen.sh: rm autom4te.cache, since it might interfere with
differing autoconf versions.
* tests/child-test.c: use GINT_TO_POINTER for g_child_watch_add
user data.
* glib/gfileutils.c: G_IS_DIR_SEPARATOR is defined in gutils.h now,
don't redefine it here.
2004-10-23 Matthias Clasen <mclasen@redhat.com>
* glib/gnulib/g-gnulib.h: Undef libc functions before defining
them, since they may also be macros. (#155177, Andrea Campi)
2004-10-23 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.h:
* glib/gkeyfile.c: Add a parser for desktop entries and
similar files with a .ini-like syntax. (#139974, Ray Strode)
* glib/glib.h: Include gkeyfile.h
* glib/Makefile.am (libglib_2_0_la_SOURCES): Add gkeyfile.c
(glibsubinclude_HEADERS): Add gkeyfile.h
* glib/gutils.c (_g_compute_locale_variants): Make this
non-static and use it in gkeyfile.c
2004-10-22 Matthias Clasen <mclasen@redhat.com>
* tests/uri-test.c (run_uri_list_tests): Add some
uri list tests.c.
* glib/gconvert.h:
* glib/gconvert.c (g_uri_list_extract_uris): New function to
split a text/uri-list data into individual uris and strip comments.
2004-10-08 Matthias Clasen <mclasen@redhat.com>
* glib/gmain.c (g_child_watch_add_full):
* glib/gmain.c (g_child_watch_add): Document that GLib supports only
a single callback per pid. (#154828, Gustavo Carneiro)
2004-10-05 Anders Carlsson <andersca@gnome.org>
* glib/goption.c: (g_option_context_parse):
Add check for if argc is 0.
* tests/option-test.c: (empty_test3), (main):
Add test case.
2004-10-03 Anders Carlsson <andersca@gnome.org>
* glib/goption.c: (parse_arg):
Set arg_data on filenames. (Discovered by Mats-Ola Persson).
* tests/option-test.c: (arg_test3), (ignore_test3), (main):
Add test for filename args.
2004-10-01 Tor Lillqvist <tml@iki.fi>
* glib/goption.c (g_option_context_parse): Use
g_path_get_basename() instead of strrchr(), so that either slash
is accepted on Windows.
2004-09-30 Matthias Clasen <mclasen@redhat.com>
* glib/gfileutils.c: Convert filenames to UTF-8 before
putting them in GErrors. (#154078, Morten Welinder)
2004-09-29 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols: Add g_assert_warning.
* glib/gmessages.h:
* glib/gmessages.c (g_assert_warning): Treat g_assert
in the same way as g_return_if_fail and move the string
constants into a helper function, which also takes
care of removing the "IA__" prefix from internal aliases.
2004-09-29 Matthias Clasen <mclasen@redhat.com>
* glib/gmessages.h: Move the declaration of
g_return_if_fail_warning() out of the ifdefs, so that
building with G_DISABLE_ASSERT works.
2004-09-27 Murray Cumming <murrayc@murrayc.com>
* glib/goptions.[h|c], glib/glib.symbols: Rename
g_context_option_error_quark() to g_option_error_quark(), because that
is consistent with normal naming conventions, and what bindings expect.
2004-09-26 Matthias Clasen <mclasen@redhat.com>
Fix#153649, Hidetaka Iwai:
* glib/goption.c (parse_long_option): Don't forget to set parsed
to TRUE when parsing a long ARG_NONE option.
(free_changes_list): Fix the memory management for string
and filename arrays.
2004-09-22 Tor Lillqvist <tml@iki.fi>
* glib/gmessages.c: [Win32] Don't open a console window if
standard output or standard error are invalid (as they are for GUI
applications). These console windows that open up unexpectedly
have caused endless amounts of confusion among end-users.
Don't output the process id on Windows. Only output the program
name. If not set with g_set_prgname(), fetch the application
executable's name and use that.
Mon Sep 20 00:13:48 2004 Matthias Clasen <maclas@gmx.de>
Make GOption remove long options completely. (#153113, Robert Ögren)
* glib/goption.c (parse_long_option): Fix a wrong index.
* tests/option-test.c (ignore_test3): Test handling of unknown
options some more.
Sun Sep 19 23:52:35 2004 Matthias Clasen <maclas@gmx.de>
* glib/gmessages.c (mklevel_prefix):
* glib/gmessages.c (g_logv): Fix the types of some variables
to be GLogLevelFlags instead of guint. (#153042, Philippe Blain)
Thu Sep 16 18:15:32 2004 Manish Singh <yosh@gimp.org>
* glib/gstrfuncs.c (g_strncasecmp): Make it take a guint for number
of characters, instead of a gsize. Technically this is incorrect,
but this makes it match the prototype, and this is a deprecated
function anyway.
2004-09-15 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_error_message): Convert message to
UTF-8. Technically this breaks API, but the actual use cases in
gdk/win32 have assumed it is UTF-8 anyway. Fix
documentation. (#152618, Kazuki Iwamoto)
* glib/gwin32.h: Don't define ftruncate as a macro. Was never a
good idea, and it clashes with newest mingw headers, which have a
ftruncate implementation as an inline function. Thanks to Dominik R.
* glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
call _chsize() in the C library.
2004-09-09 Matthias Clasen <mclasen@redhat.com>
* glib/gmessages.c (g_return_if_fail_warning): Strip the
prefix "IA__" from function names, since that is what
GTK+ uses for the PLT-reduction aliases.
Thu Sep 9 13:52:26 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmessages.c (g_return_if_fail_warning):
Include implementation of g_return_if_fail_internal().
Thu Sep 9 10:37:41 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmessages.h (g_return_[val_]if_fail): Use
a helper function to reduce code size; omit FILE/LINE
when we have __PRETTY_FUNCTION__.
Thu Sep 9 00:10:40 2004 Matthias Clasen <maclas@gmx.de>
* glib/gstrfuncs.h:
* glib/gstrfuncs.c (g_strv_length): Add a function to
calculate the length of a NULL-terminated string
array. (#150455, Tim-Philipp Müller)
* tests/strfunc-test.c (main): Add a test for g_strv_length().
2004-09-08 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (guess_category_value): On Win32, as last resort
call g_win32_getlocale() to get the current thread locale. There
usually aren't any POSIXish LANG or LC_* environment variables
present on Windows machines.
* glib/glib.def: Add g_get_language_names.
2004-09-07 Matthias Clasen <mclasen@redhat.com>
* glib/gutils.h:
* glib/gutils.c (g_get_language_names): Add a function to
return a list of applicable locale names. (#95587,
Hidetoshi Tajima)
(guess_category_value, compute_locale_variants):
(explode_locale, unalias_lang, read_aliases): Helper
functions for g_get_language_names()
* tests/testglib.c (main): Show the results of
g_get_language_names()
Wed Sep 1 20:22:39 2004 Matthias Clasen <maclas@gmx.de>
* glib/gdate.h:
* glib/gdate.c (g_date_get_iso8601_week_of_year): Add
a function to calculate the ISO 8601 week number of
a date. (#92579, Niklas Lundell)
2004-09-01 Anders Carlsson <andersca@gnome.org>
* glib/goption.c: (g_option_context_free), (print_help),
(g_option_context_parse):
Handle option contexts without a main group.
* tests/option-test.c: (empty_test2), (main):
Add test case for that.
2004-08-30 Anders Carlsson <andersca@gnome.org>
* glib/goption.c: (g_option_context_parse):
Set prgname to <unknown> if argc and argv are NULL.
* tests/option-test.c: (empty_test1), (main):
Add test case for that.
Sun Aug 29 23:58:38 2004 Matthias Clasen <maclas@gmx.de>
* glib/ghash.c (g_hash_table_lookup): Point to
g_hash_table_lookup_extended() for differentiation between
not-found and value-is-NULL. (#150960, Morten Welinder)
Fri Aug 27 00:45:41 2004 Matthias Clasen <maclas@gmx.de>
* glib/goption.c (g_option_context_parse): Set the program name
from argv[0], noticed by Masatake YAMATO.
2004-08-25 Tor Lillqvist <tml@iki.fi>
* glib/gwin32.c (g_win32_get_windows_version): New
function. Returns the Windows version code like GetVersion(),
except that one can pretend to be running on Win9x by setting the
G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
debugging purposed.
* glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED
and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
2004-08-25 Tor Lillqvist <tml@iki.fi>
Win32 equivalences of the XDG folders
* glib/gutils.c (get_special_folder): New function, calls
SHGetSpecialFolderLocation() to get path to places like the My
Documents folder.
(g_get_any_init): Use CSIDL_PROFILE as HOME if not
overridden by env vars.
(g_get_user_data_dir): Use CSIDL_PERSONAL.
(g_get_user_config_dir): Use CSIDL_APPDATA.
(g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
(g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
CSIDL_COMMON_DOCUMENTS.
(g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
* configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
* glib/glib.def: Add the new functions.
2004-08-21 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (g_io_win32_finalize): Tell select_thread to
break out of its loop. Prevents a thread leak. (#147392, Peter
Zelezny)
2004-08-21 Tor Lillqvist <tml@iki.fi>
* glib/gunicollate.c (g_utf8_collate_key): Guard against bogus
return value from strxfrm(). For instance Microsoft's strxfrm()
returns INT_MAX on errors. (#141124)
2004-08-19 Tor Lillqvist <tml@iki.fi>
* glib/gunicollate.c (g_utf8_collate, g_utf8_collate_key): Correct
source and destination charset parameter order in g_convert()
call. (#150394, possibly also #141124)
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for all four values of the
visibility attribute; gcc 2.96 seems to miss
"default". (#150379, Vincent Noel)
2004-08-16 Christian Rose <menthos@menthos.com>
* configure.in: Added "bs" to ALL_LINGUAS.
* po/bs.po: Added Bosnian translation by
Kenan Hadžiavdić <kenanh@frisurf.no>.
2004-08-10 Matthias Clasen <mclasen@redhat.com>
* glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
* configure.in: Check whether the visibility attribute
works and define G_HAVE_GNUC_VISIBILITY and
G_GNUC_INTERNAL in glibconfig.h correspondingly.
2004-08-06 Hans Breuer <hans@breuer.org>
* glib/makefile.msc.in glib/glib.def : updated
* glib/gutils.c : avoid 'inconsitent dll linkage' by not
defining extern char** environ with msvc
Thu Aug 5 20:53:00 2004 Ray Strode <rstrode@redhat.com>
* glib/gutils.h (g_get_codeset): strdup result so caller
doesn't free internally managed memory.
2004-08-04 Tor Lillqvist <tml@iki.fi>
* config.h.win32.in: Update to match what configure produces. Add
the G_ATOMIC_*. Define G_ATOMIC_I486 when compiling with gcc. Move
HAVE_INT64_AND_I64 to where the configure script puts it. Add
HAVE_INTTYPES_H_WITH_UINTMAX. Define intmax_t as __int64 for MSVC.
2004-08-02 Matthias Clasen <mclasen@redhat.com>
* glib/gmacros.h: Add a G_GNUC_INTERNAL macro to mark function
declarations as internal and avoid PLT indirections for
them. (#145465, Arjan van de Ven)
* glib/gunicodeprivate.h:
* glib/gthreadinit.h:
* glib/gmessages.h:
* glib/gdebug.h:
* glib/gconvert.c: Use G_GNUC_INTERNAL for _g_charset_get_aliases(),
_g_debug_init(), _g_log_fallback_handler(), _g_mem_thread_init(),
_g_messages_thread_init(), _g_convert_thread_init(),
_g_rand_thread_init(), _g_main_thread_init(), _g_atomic_thread_init(),
_g_mem_thread_private_init(), _g_messages_thread_private_init(),
_g_utf8_normalize_wc() and _g_unichar_combining_class().
* glib/gatomic.c: Include gthreadinit.h here to see the declaration
for _g_atomic_thread_init().
Sat Jul 31 20:33:07 2004 Matthias Clasen <maclas@gmx.de>
* tests/shell-test.c: Include a test involving consecutive
backslashes followed by a non-escaped doublequote.
* glib/gshell.c (tokenize_command_line): Count consecutive
backslashes mod 2 to detect escaped doubleqotes. (#127306)
2004-07-30 Matthias Clasen <mclasen@redhat.com>
* glib/gconvert.c (g_unescape_uri_string): Don't validate
for UTF-8 here. (#148420, Robert Ögren)
* tests/uri-test.c (run_roundtrip_tests): Add tests for
roundtrip compatibility. Going from filename to uri and
back should always give you the same filename back.
2004-07-28 Matthias Clasen <mclasen@redhat.com>
* tests/markups/valid-{9,10,11}.gmarkup:
* tests/markups/fail-{37,38,39}.gmarkup: Tests for handling
of whitespace inside tags.
* glib/gmarkup.c (enum GMarkupParseState): Add
STATE_AFTER_ATTRIBUTE_NAME and STATE_AFTER_CLOSE_TAG_NAME.
(g_markup_parse_context_parse): Accept whitespace between
attribute names, '=' and attribute values and between
close tag name and '>'. (#148646, Hiroyuki Ikezoe)
2004-07-21 Matthias Clasen <mclasen@redhat.com>
Fix#132858, Sven Neumann, patch by James Henstridge:
* glib-gettextize.in: modify so that mkinstalldirs will
get installed into auxdir.
* Makefile.am (gettext_SCRIPTS): install mkinstalldirs.
2004-07-21 Matthias Clasen <mclasen@redhat.com>
Fix#147651, reported by Oliver Guntermann:
* glib/gprintfint.h (_g_vasprintf): Don't wrap vasprintf(),
_g_gnulib_vasprintf() in a macro, since they behave
differently wrt. to memory allocation.
* glib/gprintf.c (g_vasprintf): Instead, differentiate
here between the three cases: system vasprintf(),
_g_gnulib_vasprintf(), no vasprintf().
2004-07-09 Matthias Clasen <mclasen@redhat.com>
* glib/gdir.c (g_dir_open): Convert filename to UTF-8
before using it in the error message. (#146054, Federico
Mena Quintero)
Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Use a small test library instead of
libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
Julio M. Merino Vidal)
2004-07-02 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gatomic.c: Rename __asm to __asm__ and __volatile to
__volatile__ to make the file consistent. Spotted by Benoit
Carpentier <gtkool_2kx@yahoo.fr>.
2004-07-01 John Ehresman <jpe@wingide.com>
* glib/giowin32.c (g_io_channel_win32_init, g_io_win32_free)
Initialize reset_send & reset_recv fields and don't close
sockets unless they were created. (#145153)
Fri Jun 11 22:56:46 2004 Matthias Clasen <maclas@gmx.de>
* glib/gscanner.c (g_scanner_get_token_ll): Ignore a
missing newline at EOF for single line comments.
(#83674, Sven Neumann)
2004-06-09 Federico Mena Quintero <federico@ximian.com>
* tests/uri-test.c (to_uri_tests): Fix expected results (ha ha)
for URIs that *should* have been invalid, or viceversa.
(from_uri_tests): Likewise.
2004-06-07 Federico Mena Quintero <federico@ximian.com>
Fixes#140532.
* glib/gconvert.c (is_asciialphanum): Renamed from
is_escalphanum(); ensures that this is an ASCII character.
(is_asciiescalpha): Renamed from is_escalpha().
(hostname_validate): Use the two functions above.
(g_filename_to_uri): Don't convert the filename to UTF-8.
(g_filename_from_uri): Don't convert the filename from UTF-8.
Sun Jun 6 15:23:00 2004 Pawan Chitrakar <pawan@nplinux.org>
* ne.po: Added "ne.po" Nepali translation
* configure.in: Added "ne"(Nepali) in ALL_LINGUAS
Fri Jun 4 19:26:47 2004 Manish Singh <yosh@gimp.org>
* glib/galloca.h: cpp #directives should always have the "#" in the
first column of the the line. Do that for "#pragma alloca". Fixes
bug #143744.
Wed Jun 2 00:57:16 2004 Matthias Clasen <maclas@gmx.de>
* glib/gtypes.h: Use higher precision for the mathematical
constants. (#141941, Morten Welinder)
2004-05-14 Tor Lillqvist <tml@iki.fi>
* glib/gnulib/vasnprintf.c (vasnprintf): Handle empty digit string
for precision correctly. (#142400)
For backward compatibility with the Trio implementation, make "ll"
format modifer work on Win32, too. Change into "I64" before
passing to the system printf. (#142433)
* tests/printf-test.c (main): Add tests for the above.
Sun May 9 02:04:14 2004 Matthias Clasen <maclas@gmx.de>
Merge from 2.4:
* glib/guniprop.c (g_utf8_casefold): Avoid an unnecessary
memleak. (#141998, Nikolai Weibull)
Wed May 5 23:35:44 2004 Matthias Clasen <maclas@gmx.de>
* glib/gconvert.c (g_filename_from_uri): Quote the file
scheme to mark it as untranslatable. String change.
(#133144, Danilo Segan)
Sun May 2 03:51:59 2004 Manish Singh <yosh@gimp.org>
* glib/gtypes.h: check for __pentium4__ when deciding whether to
use bswap for GUINT32_SWAP_LE_BE_IA32(). Fixes bug #141620.
2004-04-23 Matthias Clasen <mclasen@redhat.com>
* glib/libcharset/localcharset.c (_g_locale_get_charset_aliases):
Reinstate LIBCHARSET_ALIAS_DIR support which got lost at some
point. (#139134, Piotr Klaban)
2004-04-23 Matthias Clasen <mclasen@redhat.com>
* glib/gconvert.c (open_converter): Don't call g_strerror() here,
since it can lead to infinite recursion. (#139133, Piotr Klaban)
2004-04-22 Matthias Clasen <mclasen@redhat.com>
* glib/gstrfuncs.c (g_ascii_strtod): Fix problems when a
locale-specific decimal separator directly follows a
number. (#138424, Nickolay V. Shmyrev)
* tests/strtod-test.c (main): Add some more testcases.
2004-04-22 Matthias Clasen <mclasen@redhat.com>
* glib/gmain.c (g_main_context_query): Only set time_is_current to
FALSE if context->timeout is not zero. (#137795, Christian Krause)
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* tests/printf-test.c (main): Comment out a nonessential testcase
which fails on HP-UX. (#136283, Jonas Jonsson)
2004-04-15 Matthias Clasen <mclasen@redhat.com>
* tests/patterntest.c (main): Add tests for the empty pattern.
* glib/gpattern.c (g_pattern_spec_new): Don't read and write out
of bounds when the pattern is empty. (#140032, Stanislav Brabec,
Stefan Fent)
2004-04-10 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c
* glib/gmain.c
* glib/gstrfuncs.c
* glib/gthread.c: Decorating variable definitions with
__declspec(dllexport) causes problems on Cygwin build, and isn't
really needed for a native Win32 build with mingw or MSVC, so
remove. (#138402, Roger Leigh)
* glib/libcharset/localcharset.c: Use Win32-specific code also on
Cygwin.
* tests/uri-test.c: Don't assume that local filenames are in UTF-8
on Cygwin, either. (#138412, Roger Leigh)
2004-04-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
found on Cygwin, they don't work. (#138401, Roger Leigh)
2004-03-21 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (g_path_get_dirname): Fix Win32 behaviour in some
cases where a drive letter is present. For 'a:' or 'a:foo', return
'a:.'. This is mostly just for consistency with the behaviour
without a drive letter. But very important is to for 'a:\foo' or
'a:\', return 'a:\', and not 'a:'. (Ditto for forward slashes
instead of backslashes.) (#137316)
* tests/dirname-test.c (main): More complete testing on
Win32. If a test fails, include expected and actual result in
error message.
Fri Mar 19 15:21:09 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: Fix the accidental revert of the
fixes from #112222 that happened when the GChildWatch
code was added.
Fri Mar 19 11:07:06 2004 Owen Taylor <otaylor@redhat.com>
* tests/atomic-test.c (main): Make computation
of "biggest_pointer" vaguely more portable.
(#137498, Jonas Jonsson)
2004-03-16 Tor Lillqvist <tml@iki.fi>
* configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
on Win32) case, where the 64-bit type is called long long, but the
system printf/scanf format modifier for 64-bit integers is still I64.
Sun Mar 14 13:56:48 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmessages.c (escape_string): Handle invalid
UTF-8. (#131218, patch from Matthias Clasen)
Sun Mar 14 13:23:36 2004 Owen Taylor <otaylor@redhat.com>
* glib/gspawn.c: Use fork1() not fork for
G_THREADS_IMPL_SOLARIS. (#136971, Sebastian Wilhelmi)
Sun Mar 14 12:58:30 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: if _POLL_EMUL_H is defined, undefine
HAVE_POLL to prefer our own poll() emulation to the
lame OS/X one. (#136956, Manish Singh)
Sat Mar 13 23:30:53 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmacros.h (G_STMT_START): Add __extension__
to G_STMT_START to quite gcc -pedantic. (#131899,
Olivier Biot)
Sat Mar 13 23:18:45 2004 Owen Taylor <otaylor@redhat.com>
* tests/env-test.c (main): Remove critical log handler;
we can't trigger g_return_if_fails() in our test suite
even silently, because the user could have compiled
with --disable-debug. #if 0 the tests for
g_setenv/g_unsetenv with a "foo=bar" variable name.
(#136709, reported by Frédéric L. W. Meunier)
Sat Mar 13 23:10:35 2004 Owen Taylor <otaylor@redhat.com>
Some warning fixes for the Sun compiler (Reported by
David L. Cooper II, #136401)
* glib/giochannel.c (g_io_channel_read): Return
G_IO_ERROR_NONE, not G_IO_STATUS_NORMAL, since hte
function returns a GIOError.
* glib/guniprop.c: Fix some guchar/gchar confusion
with special_case_table.
Fri Mar 12 15:21:22 2004 Manish Singh <yosh@gimp.org>
* glib/gatomic.c: Non-optimizing compile fails for two asm
statements on PowerPC. Use generic implementaton for those
cases. Spotted by Christof Petig <christof@petig-baender.de>,
fix by Sebastian Wilhelmi. Bug #137006 has a possible alternate
solution, but we'll be conservative for now.
2004-03-10 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c
* glib/gspawn-win32-helper.c: Implement
G_SPAWN_FILE_AND_ARGV_ZERO. (#136792, Bruce Hochstetler)
* tests/spawn-test.c
* tests/spawn-test-win32-gui.c: Test it.
2004-03-09 Sebastian Wilhelmi <seppi@seppi.de>
* tests/child-test.c: Do not run the g_child_watch_* test
multi-threaded, as that doesn't work on linux prior 2.6. Fixes
#136539.
2003-03-07 Hans Breuer <hans@breuer.org>
* glib/gspawn-win32.c : (GPid)shortcut_spawn_retval which
doesn't improve the implementation at all, it just make it
compile with msvc ...
* glib/makefile.msc.in : build gatomic.c (now really:)
2004-03-06 Tor Lillqvist <tml@iki.fi>
* README.win32: Update.
* configure.in
* Makefile.am
* */Makefile.am: Drop the hand-written makefile.mingw(.in)
files. They haven't been maintained in a long time. As several
people have managed to build GLib for Win32 using the
autoconfiscation mechanism, there is no real reason to even try to
maintain the hand-written mingw makefiles.
2004-03-04 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gmain.c: Use the atomic integer operations for GMainContext
and GMainLoop reference counting.
* glib/gmain.c: Hold the main_context_list lock, when iterating
the list. Only call g_main_context_wakeup for positive reference
count.
2004-03-03 Tor Lillqvist <tml@iki.fi>
* glibconfig.h.win32.in: Update to match a configure-generated
glibconfig.h. Specifically: Remove G_{MIN,MAX,MAXU}INT64
definitions (now in gtypes.h). Remove g_once and
g_static_mutex_get_mutex_impl_shortcut definitions (now in
gthread.h).
2004-03-03 Tor Lillqvist <tml@iki.fi>
* tests/child-test.c: Use a macro GPID_FORMAT for the format to
print GPid in (%p on Win32, %d on Unix). Maybe configure.in should
place that in glibconfig.h?
Print verbose error message if CreateProcess() fails.
Don't close the child handle until in the child watch callback.
Don't try to run /bin/true on Win32. Run ipconfig instead (just to
pick a program that should exist on all Window boxes).
Mon Mar 1 16:49:51 2004 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.5 ===
* configure.in: Version 2.3.5, interface ago 0.
* NEWS: Some further updates.
Mon Mar 1 15:49:09 2004 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (check_for_child_exited): Don't
call waitpid() on a source that has already exited.
* glib/gmain.c (g_child_watch_check): Return TRUE
only if the child actually exited.
Mon Mar 1 15:39:57 2004 Owen Taylor <otaylor@redhat.com>
Patch from J. Ali Harlow
* configure.in: Use void * not HANDLE for GPid on win32.
* glib/gspawn.[ch] glib/gspawn-win32.[ch] glib/glib.def:
Add g_spawn_close_pid().
* glib/gspawn.[ch]: Make g_spawn functions take
GPid * instead if int * (GPid == int on unix, will
produce compile warnings until fixed on Win32.)
* tests/child-test.c: Make the test a little more
inappropriately verbose.
* glib/gmain.c: Add some documentation warnings about
not closing @pid while the source is active.
Mon Mar 1 20:32:06 2004 Tim Janik <timj@gtk.org>
* autogen.sh:
- exit with $? instead of 1 in case of failure
- exit with $? if ./configure failed
(that's so autogen.sh && make lines work)
- removed --enable-gtk-doc option
- added $AUTOGEN_CONFIGURE_ARGS
2004-03-01 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gatomic.c: Define g_atomic_(int|pointer)_get only for
G_ATOMIC_OP_MEMORY_BARRIER_NEEDED. Spotted by Hans Breuer.
2003-02-29 Hans Breuer <hans@breuer.org>
* glib/gatomic.c : added win32 api based implementation
for G_PLATFORM_WIN32, !__GNUC__
* glb/glib.def : change to g_atomi_* no _fallback
2004-02-29 Sebastian Wilhelmi <seppi@seppi.de>
* configure.in, glib/gatomic.c, glib/gatomic.h: Moved the
assembler functions from gatomic.h to gatomic.c, which makes for
better maintainability. Also use gint instead of gint32 to be able
to use reference counting for ABI-fixed structures with
gint/guint.
* glib/gthread.h: Adapted accordingly.
* tests/atomic-test.c: Updated to test for G_MAXINT and G_MININT.
* glib/glib-overrides.txt, glib/glib-sections.txt,
glib/tmpl/atomic_operations.sgml: Updated according to code changes.
2003-02-28 Hans Breuer <hans@breuer.org>
* glib/glib.def : updated externals, including those
from bug #135386
* glib/makefile.msc.in : build gatomic.c
* glibconfig.h.win32.in : removed duplicate definition
of G_MAXSIZE, typedef void* GPid instead of int
* tests/child-test.c glib/gmain.c :
applied patch from J. Ali Harlow <ali@juiblex.co.uk> to fix
g_child_watch implementation on win32, bug #50296
2004-02-27 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gasyncqueue.c, glib/gasyncqueue.h: Use
g_atomic_int_(inc|dec_and_test) for reference
counting. g_async_queue_unref_and_unlock and
g_async_queue_ref_locked is deprecated, but still there to
preserve ABI.
Fri Feb 27 01:44:41 2004 Matthias Clasen <maclas@gmx.de>
* glib/gdate.c: Translate from locale era to AD in
g_date_set_parse(). (#133400, Theppitak Karoonboonyanan)
2004-02-26 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gatomic.h: empty G_ATOMIC_MEMORY_BARRIER() definition for
!G_THREADS_ENABLED
* glib/gthread.h: Define g_once and
g_static_mutex_get_mutex_impl_shortcut in terms of
G_MEMORY_BARRIER, if defined and if we can inline.
* configure.in: Remove double checked locking feature check.
2004-02-26 Sebastian Wilhelmi <seppi@seppi.de>
* configure.in, config.h.win32.in, glib/gthread.c: Removed the PID
niceness surrogate for thread priorities as requested by Tim. It
does more harm than good.
* glib/tmpl/threads.sgml: Updated to reflect removal of the PID
niceness surrogate for thread priorities.
2004-02-26 Sebastian Wilhelmi <seppi@seppi.de>
* glib/gatomic.c, glib/gatomic.h: New files to implement atomic
operations for different platforms. Fixes bug #63621.
* glib/glib.h: Include gatomic.h.
* configure.in: Add test for assembler routines for atomic operations.
* glib/Makefile.am: Add gatomic.c, gatomic.h.
* tests/Makefile.am, tests/atomic-test.c: Unit test for atomic
operations.
* glib/glib-overrides.txt, glib/glib-sections.txt,
glib/glib-docs.sgml, glib/tmpl/atomic_operations.sgml: Add docs
for atomic operations.
2003-02-26 Hans Breuer <hans@breuer.org>
* glib/glib.def : added g_hash_table_find and a
bunch of g_queue_*
* glib/gmain.c : make it compile on win32,
child_wake_up_pipe replaced by semaphore like it is done
for the other wake_up_pipe
* config.h.win32.in : added HAVE_INT64_AND_I64
* glibconfig.h.win32.in : G_MAXSIZE .. G_M??INT64,
and typedef for GPid
* test/env-test.c : don't let the local log function
collide in namespace with standard C
2004-02-25 Sebastian Wilhelmi <seppi@seppi.de>
* configure.in, glib/gthread.c: For the PID thread priorities
surrogate use gettid instead of getpid. This also works with nptl
(on linux-2.6), as well as with linuxthreads (on linux-2.4).
Sun Feb 22 02:28:43 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Set the gmodule suffix to 'a' for aix and
use the aix gmodule implementation. (#85930, Laurent Vivier)
Bug #85930, Laurent Vivier:
* gmodule-ar.c: Implementation of native module management for AIX.
* gmoduleconf.h.in:
* gmodule.c: Support gmodule-ar.c
Sun Feb 22 00:47:04 2004 Matthias Clasen <maclas@gmx.de>
* glib/gnode.c (g_node_copy_deep): New function to deep-copy a
GNode and its children. (#93464, James M. Cape)
Sat Feb 21 13:45:08 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* glib/gqueue.[ch]: Extend GQueue API to match the GList
API. (#118439).
* tests/queue-test.c: Update test suite to cover the new API.
Fri Feb 20 02:39:03 2004 Tim Janik <timj@gtk.org>
* applied patch from David Schleef <ds@schleef.org> which implements
a G_MODULE_BIND_LOCAL flag to g_module_open() to disable global
symbol registration.
Thu Feb 19 18:40:01 2004 Tim Janik <timj@gtk.org>
* glib/gstring.[hc]: for G_CAN_INLINE environments, inline
g_string_append_c() for efficiency. (vaguely based on #118707).
Sat Feb 14 02:11:08 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Make the check for GNU make work when MAKE is a
full path. (#134102, Julio M. Merino Vidal)
Sat Feb 14 02:08:03 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Suppress xsltproc and xmlcatalog checks
if enable_man=no. (#134091, Julio M. Merino Vidal)
Sat Feb 14 01:21:34 2004 Matthias Clasen <maclas@gmx.de>
* glib/gmain.h:
* glib/gmain.c (g_child_watch_source_new):
* glib/gmain.c (g_child_watch_add):
* glib/gmain.c (g_child_watch_add_full): Wrap waitpid() as a
GSource. This is a partial implementation of the "Unix signal
source". (#50296, Jonathan R. Blandford)
* configure.in: Add the necessary configury to typedef GPid
appropriately.
* tests/Makefile.am:
* tests/child-test.c: Test child_watch sources.
Thu Feb 5 01:19:12 2004 Matthias Clasen <maclas@gmx.de>
* tests/file-test.c (test_mkstemp): Weaken an g_assert() to a
g_warning(), since apparently nothing in Posix forces mkstemp()
to reject templates without any X's. (#133397)
Thu Feb 5 00:56:28 2004 Matthias Clasen <maclas@gmx.de>
* glib/gcompletion.c (g_completion_complete_utf8): New function which
works like g_completion_complete(), but strips a trailing incomplete
UTF-8 character from the prefix. (#133313, Theppitak Karoonboonyanan)
* tests/completion-test.c (main): Some GCompletion tests.
* tests/Makefile.am: Add completion-test.
2004-01-30 Noah Levitt <nlevitt@columbia.edu>
* glib/gunicomp.h:
* glib/gunidecomp.c:
* glib/gen-unicode-tables.pl: Size compose_table correctly. (#123421,
Simon Josefsson)
* glib/gen-unicode-tables.pl: Get rid of some new warnings from perl
5.8.1.
2004-01-23 Tor Lillqvist <tml@iki.fi>
* glib/grand.c: Don't include <unistd.h> unless
HAVE_UNISTD_H. Include <process.h> on G_OS_WIN32.
(g_rand_new): Use getppid() only on G_OS_UNIX.
Thu Jan 22 00:41:34 2004 Matthias Clasen <maclas@gmx.de>
* glib/gutils.c (g_get_any_init): Don't treat the Win32
user name like a gecos field, and when extracting a real
name from a gecos field, replace '&' by the capitalized
user name (a traditional passwd feature).
(#118973, reported by Soeren Boll Overgaard)
Sun Jan 11 16:13:20 2004 Manish Singh <yosh@gimp.org>
* configure.in: Add G_MAXSIZE, define in terms of G_MAXUfoo.
* tests/type-test.c: Add test for G_MAXSIZE.
* glibconfig.h.win32.in: Cleanup, add some missing bits.
Sat Jan 10 00:11:12 2004 Manish Singh <yosh@gimp.org>
* glib/gutils.h (g_bit_nth_lsf,g_bit_nth_msf): 64-bit cleanliness
fixes.
* docs/reference/glib/tmpl/misc_utils.sgml: update to reflect the
above take gulongs now. My docs suck, someone should revisit it.
Fri Dec 19 11:49:21 2003 George Lebl <jirka@5z.com>
* glib/grand.c
glib/grand.h (g_rand_new) (g_rand_new_with_seed)
(g_rand_new_with_seed_array) (g_rand_set_seed_array): Add
the init_by_array functionality from the reference implementation
of the mersenne twister (mt19937ar.c) and change the naming
to fit with the rest of the grand API. New functions are
g_rand_new_with_seed_array, g_rand_set_seed_array. This is only
reliable/tested for the 2.2 version of the seeding as that's what
the reference implementation uses. Also modify g_rand_new to
get 4 longs from /dev/urandom since that will always be available
anyway and we get more entropy and if /dev/urandom is unavailable
use also 4 longs for seeding using secs, usecs, getpid and getppid.
For version 2.0 use only a simple seed again but be more careful
about seeding with secs/usecs in this case.
* glib/grand.c
glib/grand.h (g_rand_copy): Add g_rand_copy function to copy the
current state of the random number generator.
* glib/grand.c (g_rand_new): Add testing for EINTR when reading
from /dev/urandom
* tests/rand-test.c: add testing of the array seeding stuff against
the reference implementation, plus add statistical sanity check
to see that the values outputted are truly kind of random. And
check that g_rand_copy truly copies the state by checking a few
terms.
2003-12-30 Murray Cumming <murrayc@usa.net>
* gobject/glib-mkenums.in: Added a lowercase_name option, to be used
next to the enum declaration, where the flag option is already used,
when it is not possible to guess where to put the underscores in the
_get_type() function name, for instance for GNOMEVFSURIHide.
Fri Dec 26 02:03:58 2003 Matthias Clasen <maclas@gmx.de>
* glib/garray.[hc] (g_ptr_array_foreach): New function to
call a function for each element of a GPtrArray. (#114790)
* tests/array-test.c (main): Add a test for g_ptr_array_foreach().
Sun Dec 21 22:57:58 2003 Matthias Clasen <maclas@gmx.de>
* m4macros/glib-gettext.m4: Quote macro names to support
reading the file multiple times. (#125537)
Sun Dec 21 22:42:42 2003 Matthias Clasen <maclas@gmx.de>
* glib/gmem.c (g_mem_chunk_destroy): Fix the locking of the
mem_chunks list. (#127096, Balazs Scheidler)
2003-12-13 Hans Breuer <hans@breuer.org>
* glib/gconvert.c : get_filename_charset() needs to
return false for filenames not encoded in utf-8,
which is always true on win32
* glibconfig.h.win32.in : (u)int64 modifier isn't the
gcc 'll' but always the msvcrt one 'I64'
* glib/glib.def : updated
Thu Dec 11 10:31:21 2003 Manish Singh <yosh@gimp.org>
* glib/gmacros.h: change #elif with no expression to #else in
G_STRFUNC definition. Thanks to Damien Carbery, fixes#129101.
Tue Dec 2 02:29:41 2003 Matthias Clasen <maclas@gmx.de>
Fix for #103710, Mark Jones:
* glib/gtypes.h (G_MAXINT64): Define G_{MIN,MAX,MAXU}INT{8,16,32,64}.
* configure.in: Don't put G_{MIN,MAX,MAXU}INT64 in glibconfig.h.
Thu Nov 27 17:04:08 2003 Tim Janik <timj@gtk.org>
* glib/gstrfuncs.c (g_strconcat): handle NULL arguments
gracefully.
* glib/gmacros.h: defined G_STRFUNC, which (pretty) prints the
current function (since G_STRLOC and G_GNUC_*FUNCTION became
unusable with gcc-3.0).
Wed Nov 26 16:45:16 2003 Roozbeh Pournader <roozbeh@sharif.edu>
* glib/gstrfuncs.c: Fixed a bad pointer comparison in
g_ascii_strtod that came up in fa_IR locale (#126640, Behdad
Esfahbod).
* tests/strtod-test.c: Fixed the tests to catch the above.
Sat Nov 22 14:16:51.15 2003 Andrew Lanoix <alanoix@umich.edu>
* glib/giowin32.c: Bind inter-thread comminication
sockets to INADDR_LOOPBACK instead of INADDR_ANY.
Sat Nov 15 23:00:57 2003 Matthias Clasen <maclas@gmx.de>
* glib/guniprop.c (g_utf8_casefold): Add a NULL check
to be consistent with the other g_utf8_ functions. (#121618,
Tim-Philipp Müller)
2003-11-15 Tor Lillqvist <tml@iki.fi>
* tests/makefile.msc.in: Fix for MSVC build: Skip strtod-test, use
correct glib libraries, with 2.0 in the names. (#126906, John
Ehresman)
Sat Nov 15 00:46:14 2003 Matthias Clasen <maclas@gmx.de>
* configure.in: Don't blindly set glib_cv_long_long_format to
"ll" when using the included printf. As long as the native
printf supports 64bit printing, use the native format.
(#119525, Tor Lillquist)
2003-11-07 Mark McLoughlin <mark@skynet.ie>
* glib/gconvert.c: (get_filename_charset): re-work to
retain a copy of the cached charset rather than the
actual return value from g_get_charset (which may
change). Also, re-initialize the cache if it does
change. See bug #126454.
Thu Nov 6 00:04:46 2003 Matthias Clasen <maclas@gmx.de>
* glib/gconvert.c (get_filename_charset): Replacement for
have_broken_filenames() which consults the environment variable
G_FILENAME_ENCODINGS in addition to G_BROKEN_FILENAMES.
* glib/gconvert.c (g_filename_from_utf8):
* glib/gconvert.c (g_filename_to_utf8):
* glib/gconvert.c (_g_convert_thread_init): Use
get_filename_charset() instead of have_broken_filenames().
Wed Nov 5 22:05:19 2003 Matthias Clasen <maclas@gmx.de>
* glib/gi18n-lib.h:
* glib/gi18n.h: New headers defining common gettext-support
macros.
* glib/Makefile.am (glibsubinclude_HEADERS): Add gi18n.h
and gi18n-lib.h.
* glib/gstrfuncs.h:
* glib/gstrfuncs.c (g_strip_context): Auxiliary function for
the implementation of Q_().
2003-11-05 Morten Welinder <terra@gnome.org>
* glib/gstring.c (g_string_insert_len): Handle the case where the
to-be-inserted string is a substring of the target string.
(g_string_assign): Handle "s = s;".
(#114260, self.)
Sun Nov 2 01:47:31 2003 Matthias Clasen <maclas@gmx.de>
Fix 64bit printing for MSVC builds (#119292, Hans Breuer):
* configure.in (HAVE_INT64_AND_I64): Define for MSVC to
include support for printing __int64 with format %I64 in
the gnulib printf wrappers.
* glib/gnulib/printf-args.h (enum arg_type): Add TYPE_INT64
and TYPE_UINT64.
* glib/gnulib/printf-args.h (struct argument): Add a_int64 and
a_uint64 members.
* glib/gnulib/printf-args.c (printf_fetchargs): Support
TYPE_INT64 and TYPE_UINT64.
* glib/gnulib/printf-parse.c (printf_parse): Parse I64 format
modifier and map formats to TYPE_INT64.
* glib/gnulib/vasnprintf.c (vasnprintf): Print TYPE_INT64 with
format modifier I64.
* glib/gnulib/README: Document the __int64 support.
Sat Nov 1 08:45:38 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_context_iterate): Set the
return value from the result of g_main_context_check()
(after we poll) rather than g_main_context_prepare.
(#121675, Padraig O'Briain)
Fri Oct 31 00:13:53 2003 Matthias Clasen <maclas@gmx.de>
* configure.in: Remove the semicolon from the definition of
g_once(), so that GPOINTER_TO_INT (g_once (...)) works.
Tue Oct 28 23:38:30 2003 Matthias Clasen <maclas@gmx.de>
* tests/printf-test.c: Change the %e tests to not check for
actual string equality, but rather equality under g_ascii_strtod(),
since the number of leading digits in the exponent seems to
be not exactly prescribed by SUS.
2003-10-24 Tor Lillqvist <tml@iki.fi>
* configure.in: Force shared library (DLL) only on Windows.
(I don't think that is controversial?) Remove unnecessary
AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
Win32, it is not used by mingw or MSVC headers.
* config.h.win32.in
* glibconfig.h.win32.in: Match what configure produces.
* glib/gconvert.c
* glib/gutils.c: Mark a couple of functions and variables that
aren't public as static.
* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
it potentially differently, to silence compiler.
* glib/glib.def: Add some missing entries.
* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
libtestgobject.
* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
to g_object_set() and _get().
Thu Oct 23 12:38:24 2003 Owen Taylor <otaylor@redhat.com>
* === Released 2.3.0 ===
* tests/gobject/Makefile.am (dist-hook): Remove
and extra backslash.
* tests/gobject/Makefile.am (EXTRA_DIST): Add
testmarshal.list.
* glib/Makefile.am (libglib_2_0_la_SOURCES): Add
missing gunicode-private.h.
* tests/testglib.c (main): Fix a warning.
* tests/gobject/ifaceinherit.c: Remove check that
wasn't supposed to work (adding an interface already
added to the derived class to the base class),
fix a bug.
Wed Oct 8 23:40:26 2003 Matthias Clasen <maclas@gmx.de>
* glib/gmarkup.c (g_markup_printf_escaped):
(g_markup_vprintf_escaped): Document as 2.4 additions.
(unescape_text): Implement newline and whitespace normalization
according to the XML specification. (#123919)
(g_markup_escape_text): Document whitespace (non)handling.
2003-10-05 Matthias Clasen <maclas@gmx.de>
* configure.in: Make the various printf feature test macros
reflect the system printf, even when using the included printf.
In particular, don't force HAVE_C99_SNPRINTF, since g-gnulib.h
needs that test result. (#122973)
* glib/gprintf.c (g_vasprintf): Don't rely on HAVE_VASPRINTF,
directly check for _g_vasprintf.
* glib/gprintfint.h (_g_vasprintf): Only define _g_vasprintf()
if vasprintf() is available.
* glib/gnulib/printf.c (_g_gnulib_vfprintf): Don't write
trailing nul to the file. (#122973)
* acinclude.m4 (AC_FUNC_VSNPRINTF_C99): Make the test
detect non-C99-compliance of AIX 5.1 and Solaris
vsnprintf(). (#122496)
Thu Oct 2 01:15:46 2003 Owen Taylor <otaylor@redhat.com>
* tests/gobject/ifacecheck.c: Test case for
g_type_add_interface_check().
* tests/gobject/ifaceinit.c: Add #undef G_DISABLE_ASSERT.
Thu Oct 2 01:11:39 2003 Owen Taylor <otaylor@redhat.com>
* tests/gobject/ifaceinherit.c: Remove some tests that
were testing things that weren't supposed to work; add
a test for adding an interface first to the child class,
then to the parent class.
Thu Oct 2 00:02:55 2003 Owen Taylor <otaylor@redhat.com>
* tests/gobject/Makefile.am test/gobject/ifaceinherit.c:
Tests of interface inheritance and overriding.
2003-09-30 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c (do_spawn): Call protect_argv() in
do_spawn() instead of in do_spawn_with_pipes() so that we can use
the original argv[0] as the program file name parameter to
spawnv() in the shortcut (doing without helper process)
code. Fixes problem if GIMP 1.3 was installed in a path with
spaces in the name.
Tue Sep 30 15:31:16 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* glib/guniprop.c (has_more_above): make the argument const to
get rid of warning
* glib/garray.c (g_byte_array_remove_range): insert cast to get
rid of warning
2003-09-29 Tor Lillqvist <tml@iki.fi>
* tests/testglib.c (main): Use hardcoded name for DLL, as there is
no reliable way to determine it at compile or run time anyway.
Thu Sep 25 15:43:08 2003 Owen Taylor <otaylor@redhat.com>
* tests/gobject/testmodule.[ch] test/gobject/Makefile.am:
Dummy dynamic type module for testing type plugin code
and dynamic types.
* test/gobject/defaultiface.c: Test of g_default_interface_ref,
etc.
2003-09-12 Noah Levitt <nlevitt@columbia.edu>
* glib/gen-unicode-tables.pl: Take a directory where to look for the
unicode files on the command line instead of 7 individual files.
2003-08-25 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (read_thread): Avoid UNLOCKing the critical
section twice, which might cause a hang. (#120653)
* glib/giowin32.c (g_io_channel_unix_new): Warn if fd is both a
valid file descriptor and socket.
Mon Aug 25 12:17:20 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_main_context_unref_and_unlock):
When DISABLE_MEM_POOLS is set, loop through and free
the poll records explicitely, since g_mem_chunk_destroy()
won't do it. (#118121, Morten Welinder)
2003-08-19 Tor Lillqvist <tml@iki.fi>
* glib/gmessages.c (g_logv): [Win32] Make the fatal error message
box easier to notice with MB_SETFOREGROUND. Also use MB_ICONERROR
to get a nice stop-sign icon.
Tue Aug 19 09:42:06 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: Add $INTLLIBS to $LIBS
temporarily, not -lintl. (Problem with fix for
#119171, pointed out by James Henstridge)
Tue Aug 19 03:55:29 2003 Tim Janik <timj@gtk.org>
* glib/gbsearcharray.h: license change, no restrictions are made
in the new license at all, the implmentation is simply provided
"as is" to allow copy-pasting the code into any third-party app.
naturally, the implementation is self-contained within the header
file to allow this.
default to non-shrinking behaviour, allow users to request shrinking
via G_BSEARCH_ARRAY_AUTO_SHRINK.
creation, deletion functions are now named g_bsearch_array_create()
and g_bsearch_array_free().
fixed const in prototypes, removed cruft.
(g_bsearch_array_insert): take only three arguments, do nothing if the
node to insert is already there.
(g_bsearch_array_replace): insert or replace if the node is already
there.
(g_bsearch_array_remove): remove nodes by index, the index of a node
can be found via g_bsearch_array_get_index().
removed other g_bsearch_array_remove*() variants.
(g_bsearch_array_lookup): minor optimizations.
(g_bsearch_array_lookup_sibling): return nodes on mismatches.
* glib/gbsearcharray.c: removed.
2003-08-16 Tor Lillqvist <tml@iki.fi>
Fix#117925 (Dov Grobgeld):
* glib/gutils.c (g_find_program_in_path, g_basename,
g_path_get_basename, g_path_is_absolute, g_path_skip_root,
g_path_get_dirname, g_get_any_init): On Win32, look also for
slashes ('/') as pathname separators.
* glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
contains a pathname separator, include the actual one in the error
message, instead of always the canonical one.
(g_build_filename): Separate implementation on Win32 that looks
for either slash or backslash. Document Unix/Windows differences.
* tests/testglib.c
* tests/strfunc-test.c: Test above functionality on Win32.
2003-08-15 Tor Lillqvist <tml@iki.fi>
* glib/gmain.c (g_poll): [Win32] Don't exceed handle array
bounds. Warn if there would be too many handles to wait
for. (WaitForMultipleObjects() has a relatively low limit of 64
handles. The Win32 IO channel code should be fixed not to need to
wait for one handle per file or socket being watched. Later.)
2003-08-13 Tor Lillqvist <tml@iki.fi>
* glib/Makefile.am
* gmodule/Makefile.am
* gobject/Makefile.am
* gthread/Makefile.am: Use srcdir also in references to the .def
files. (#118885, Jeff Bonggren)
2003-08-12 Tor Lillqvist <tml@iki.fi>
* glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific
implementation. It used WideCharToMultiByte(), which is broken as
it stores unconvertable characters as fallback characters
(question marks) in the destination string without being able to
tell how much of the conversion succeeded. Using g_convert() like
on Unix is better and simpler. (#117872)
(g_locale_to_utf8): No need for the Win32-specific implementation
here, either.
(have_broken_filenames): Define as TRUE on Win32.
(g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As
have_broken_filenames() now is defined TRUE on Win32, works as
before.
* acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from
gtk-doc to enable configuring without xmlcatalog in PATH. (#119115)
2003-08-10 Tor Lillqvist <tml@iki.fi>
* glib/gutils.c (g_getenv): Don't use a cache of variable name to
value mappings on Win32, as that breaks g_setenv() and
g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary,
and in that case return a quarkified string. It is still
questionable how necessary expanding embedded environment variable
references is. Possibly the whole Win32-specific g_getenv()
implementation could be removed. (#119520)
2003-08-08 Matthias Clasen <maclas@gmx.de>
* tests/env-test.c (main): Remove a test for getenv() behaviour which isn't specified by SUS
and doesn't work on Solaris.
2003-08-07 Matthias Clasen <maclas@gmx.de>
* tests/env-test.c: Add tests for '=' in names and values.
* glib/gutils.c (g_setenv, g_unsetenv): Check that the variable name doesn't contain '='. Add a
declaration for environ. (#119338)
2003-08-07 Matthias Clasen <maclas@gmx.de>
* tests/patterntest.c: Specify test strings in UTF-8, remove all charset conversion.
Replace the NOISY define by a cmdline arg --noisy. (#115757)
Thu Aug 7 15:01:09 2003 Owen Taylor <otaylor@redhat.com>
* m4macros/glib-gettext.m4: Set $LIBS to include
-lintl when checking for dcgettext and
_nl_msg_cat_cntr. (Tim Mooney, #119171)
Thu Aug 7 14:15:44 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c (g_idle_source_new): Make the default priority
for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would
expect and document that. (#114461, reported by Andy Wingo)
2003-08-06 Noah Levitt <nlevitt@columbia.edu>
* tests/casemap.txt:
* tests/gen-casemap-txt.pl: Add test for special case not at inital
position in the string, the bug just fixed. (#118957)
2003-08-05 Noah Levitt <nlevitt@columbia.edu>
* glib/guniprop.c: Get rid of "len" parameter to output_special_case
and output_marks, and make them work more like g_unichar_to_utf8,
fixing a bug in the process. (#118957)
2003-07-31 Noah Levitt <nlevitt@columbia.edu>
* tests/utf8.txt: Change instances of U+10ffff to U+10fffd, since that
is the last valid unicode character. Add check that U+10ffff is
NOTUNICODE. (#118730)
2003-07-31 Tor Lillqvist <tml@iki.fi>
* glib/gspawn-win32.c: When possible, manage without the helper
process. (Part of the enhancements outlined in #98737.) Speeds up
GIMP 1.3's first-time-run plug-in query phase a lot.
Plug a file descriptor (and thus Win32 handle) leak: close the
read end of the child error report pipe after use.
* glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link() to better match the remaining file
utilities in the g_file_ namespace and to better separate it from readlink(). This is hopefully no problem
as the function is just 2 days old.
2003-07-26 Matthias Clasen <maclas@gmx.de>
* glib/garray.h:
* glib/garray.c (g_{,byte,pointer}_remove_range): New functions to remove a range of elements
from an array. (#94879, Nalin Dahyabhai)
2003-07-20 Hans Breuer <hans@breuer.org>
* glib/trio/makefile.msc : (new file) for msvc build
* glib/glib.def : removed some duplicated entries
* glib/gscanner.c : add same workaround for MSVC(5.0)
which does not allow to cast an uint64 to float.
Same as in gvaluetransform.c
Also move #include <io.h> behind inclusion of "glib.h"
which defines the needed G_OS_WIN32
* glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
as well as shell32.lib
* tests/spawn-test.c : include <io.h> on win32
2003-07-12 Matthias Clasen <maclas@gmx.de>
* glib/gprintf.c: Doc additions.
2003-07-12 Matthias Clasen <maclas@gmx.de>
* glib/tmpl/string_utils.sgml: Add a paragraph about string precision, add links to it.
Remove markup which is now handled better by gtk-doc.
2003-07-10 Joel Brich <joel.brich@laposte.net>
* configure.in: Added "eo" to ALL_LINGUAS.
* po/eo.po: Added Esperanto translation
from Charles Voegler <cvoegler@dweasel.com>
Wed Jul 9 16:27:26 2003 Manish Singh <yosh@gimp.org>
* glib/gmain.c (g_main_context_unref_and_unlock): check if
context->poll_chunk is set before trying to destroy it. For example,
This can happen if no sources are added to a context before it is
freed.
2003-07-09 Matthias Clasen <maclas@gmx.de>
Support for one-time initialization functions. (#69668, Sebastian Wilhelmi)
* configure.in: Check whether double checked locking is safe, define g_once() in
glibconfig.h accordingly.
* glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
* glib/gthread.c (g_once_impl): Fallback implementation using a mutex if double checked
locking is unsafe.
* tests/thread-test.c: Add tests for g_once().
2003-06-25 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
&optlen to getsockopt() instead of NULL. Don't remember why I
thought that NULL could be used (as we don't actually use the
returned value for anything), the Platform SDK documentation
doesn't imply so.
2003-06-17 Matthias Clasen <maclas@gmx.de>
* acinclude.m4 (JH_PATH_XML_CATALOG, JH_CHECK_XML_CATALOG): New
macros to check for XML catalog contents and path, borrowed from
gtk-doc.
* configure.in: New option --enable-man to enable regeneration of
man pages from Docbook, if the necessary tools are found.
* gobject/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-mkenums.1, glib-genmarshal.1 and gobject-query.1.
(content_files): Add glib-mkenums.xml, glib-genmarshal.xml and
gobject-query.xml.
* gobject/glib-mkenums.xml:
* gobject/glib-genmarshal.xml:
* gobject/gobject-query.xml: New refentries.
* gobject/glib-mkenums.1:
* gobject/glib-genmarshal.1:
* gobject/gobject-query.1: Man pages generated from the .xml
sources.
* gobject/gobject-docs.sgml: Include glib-mkenums.xml,
glib-genmarshal.xml and gobject-query.xml.
* glib/Makefile.am: Add rule to regenerate man pages from
Docbook.
(man_MANS): Add glib-gettextize.1.
(content_files): Add glib-gettextize.xml.
* glib/glib-gettextize.xml: New refentry.
* glib/glib-gettextize.1: Man page generated from the .xml source.
* glib/glib-docs.sgml: Include glib-gettextize.xml.
2003-06-15 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DLLDIR): Test where the DLLs actually are.
* README.win32: Point to FSF's binary Win32 distributions of
libiconv and gettext-runtime.
2003-06-11 Tor Lillqvist <tml@iki.fi>
* glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin
subdirectory, so get them from there.
* glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the
same way as the po files for Serbian in Latin and Cyrillic script.
2003-06-08 Tor Lillqvist <tml@iki.fi>
* glib/giowin32.c: Fix indentation and spacing. Use
INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and
gethostbyaddr().
* glib/giowin32.c: Resolved thread deadlocks in socket
ichannel code to support Add-Cancel-Add watch functionality
on windows. Also cleaned up socket error handling to not
segfault and do the right thing.
Fri Jun 6 10:24:23 2003 Hidetoshi Tajima <hidetoshi.tajima@sun.com>
* m4macros/glib-gettext.m4: Test for Solaris native gettext
in libc, seeing if it supports GNU catalog format (#85217).
Thu Jun 5 23:40:31 2003 Owen Taylor <otaylor@redhat.com>
* glib/gmain.c: When dispatching a source that is
!CAN_RECURSE, temporarily remove any file descriptors
that that source has registered from the main loop, to keep
recursive main loops from busy-waiting if input
becomes available on one of those file descriptors.
(#112222, Christian Krause)
* glib/gmain.c (g_source_set_priority): Properly
remove the source from the context's source list
and reinsert it sorted, rather than simply setting
source->next/prev to NULL! (#114274)
2003-06-06 Matthias Clasen <maclas@gmx.de>
* glib/gstring.c (g_string_append_printf_internal): Use
g_vasprintf() and g_string_append_len(), thus enabling embedded
nuls in the result of g_string_printf(). (#92492, Owen Taylor)
* tests/string-test.c: Add a test for embedded nuls in the
result of g_string_printf().
2003-06-06 Matthias Clasen <maclas@gmx.de>
* glib/gprintf.[ch]: Synchronize argument names with headers and docs.
(g_vasprintf): An implementation of vasprintf(), code was lifted
from g_strdup_vprintf(). (#112365)
* glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
2003-06-05 Tor Lillqvist <tml@iki.fi>
* glib/giochannel.h
* glib/gmain.h: Remove bogus (Win32-only) declaration of
g_main_poll_win32_msg_add(). No such function exists.
* glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
better warning messages.
Mon Jun 2 14:18:21 2003 Owen Taylor <otaylor@redhat.com>
Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)
* glib/gspawn.c (read_data): Don't read() into '&buf', while this
is technically okay - it is clearer as just 'buf'.
(write_all): New helper function that handles write() interrupts.
(write_err_and_exit): Use write_all() instead of write().
(fork_exec_with_pipes): Same here.
Sun Jun 1 09:42:36 2003 Owen Taylor <otaylor@redhat.com>
* glib/giochannel.c (g_io_error_get_from_g_error): Put
the g_return_val_if_fail() in the right place.
Fri May 31 1:17:45 2003 Ray Strode <halfline@hawaii.rr.com>
* glib/giochannel.c (g_io_channel_error_from_errno):
Fix typo: should be G_IO_ERROR_UNKNOWN not
G_ERROR_ERROR_UNKNOWN