2007-11-08 Matthias Clasen <mclasen@redhat.com>
* mkinstalldirs: Temporarily add this script, to fix building
from svn.
svn path=/trunk/; revision=5830
2007-11-08 Matthias Clasen <mclasen@redhat.com>
* configure.in:
* m4macros/glib-2.0.m4: Require pkg-config 0.16 in configure
and in AM_PATH_GLIB_2_0 to be consistent with the use of
PKG_PROG_PKG_CONFIG which was introduced in 0.16. (#418778,
Loïc Minier)
svn path=/trunk/; revision=5820
2007-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols:
* glib/gmarkup.[hc] (g_markup_parse_context_get_element_stack):
New function, to get the stack of open elements. (#452887,
Ryan Lortie)
svn path=/trunk/; revision=5816
2007-11-07 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.[hc]: Make some functions that take
a GError return boolean instead of void. (#375651, Matt Barnes)
svn path=/trunk/; revision=5815
2007-11-07 Matthias Clasen <mclasen@redhat.com>
* acinclude.m4:
* configure.in: Move some inter-*.m4 includes from
configure.in to acinclude.m4 to avoid warnings when
using automake 1.9. (#449937)
svn path=/trunk/; revision=5812
2007-10-22 Tor Lillqvist <tml@novell.com>
* glib/gutils.c (_glib_gettext): Plug small one-time leak on
Windows. (#488068, Daniel Atallah)
svn path=/trunk/; revision=5795
2007-10-16 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for sys/resource.h
* glib/gspawn.c: Improve the fdwalk implementation on Linux
to only walk over actually open file descriptors. (#469231,
Lennart Poettering)
svn path=/trunk/; revision=5783
2007-10-13 Sven Herzberg <herzi@gnome-de.org>
Reviewed by Tim Janik.
Created marshallers that don't throw gcc warnings when compiling with
-WUnused (fixes#359165).
* gobject/glib-genmarshal.c: decorate return_value and invocation_hint
with G_GNUC_UNUSED
svn path=/trunk/; revision=5781
2007-10-04 Tor Lillqvist <tml@novell.com>
* glibconfig.h.win32.in: Always define G_CAN_INLINE. Even MSVC6 is
capable of inlining. (#483337, Steve Lhomme)
svn path=/trunk/; revision=5780
2007-09-11 Marco Barisione <marco@barisione.org>
* configure.in: fix a typo in the previous commit. (#475854, comment
#4)
svn path=/trunk/; revision=5750
2007-09-11 Marco Barisione <marco@barisione.org>
* glib/Makefile.am:
* configure.in: propagate the pcre flags to libglib and not to all
parts of glib. (#475854, dmacks@netspace.org)
svn path=/trunk/; revision=5749
2007-09-10 Marco Barisione <marco@barisione.org>
* glib/gregex.c: change the type of ref_count from guint to gint, so
we can remove some ugly casts.
svn path=/trunk/; revision=5746
2007-09-10 Marco Barisione <marco@barisione.org>
* glib/gregex.c: use pcre_get_stringnumber() in
get_matched_substring_number() if G_REGEX_DUPNAMES was not set.
(#444765, Yevgen Muntyan)
svn path=/trunk/; revision=5745
2007-09-10 Marco Barisione <marco@barisione.org>
* glib/gregex.c: define PCRE_ERROR_NULLWSLIMIT if it's not defined by
PCRE, has PCRE 7.3 removed this definition. (#475474)
svn path=/trunk/; revision=5742
2007-08-24 Michael Natterer <mitch@imendio.com>
* glib/gslice.[ch]: make g_slice_copy() take a gconstpointer
instead of a gpointer.
svn path=/trunk/; revision=5720
2007-08-22 Cody Russell <bratsche@gnome.org>
* glib/gprintf.c: Document g_snprintf to return "bytes" rather
than "characters".
svn path=/trunk/; revision=5716
2007-08-20 Behdad Esfahbod <behdad@gnome.org>
* glib/tmpl/unicode.sgml: Document that GUnicodeScript is
interchangeable with PangoScript.
2007-08-20 Behdad Esfahbod <behdad@gnome.org>
* glib/guniprop.c: Document that g_unichar_get_script() is
equivalent to pango_script_for_unichar().
svn path=/trunk/; revision=5713
2007-08-14 Cody Russell <bratsche@gnome.org>
* gobject/gsignal.c: g_type_default_interface_ref() was not
ensuring working g_signal_list_ids. Added checks for
!G_TYPE_IS_INTERFACE (itype).
(#465625, by some guy who calls himself Yeti)
svn path=/trunk/; revision=5704
Tue Aug 14 02:06:10 2007 Tim Janik <timj@imendio.com>
* glib/gthread.c (g_once_init_enter_impl): prevent race covered
by g_once_init_enter(), by checking for previous initializations
before entering initialisation branch.
* tests/onceinit.c: added multi-thread/multi-initializer stress test
using unoptimized g_once_init_enter_impl().
svn path=/trunk/; revision=5701
Mon Aug 13 14:21:44 2007 Tim Janik <timj@imendio.com>
* tests/onceinit.c: test g_once_init_*() before and after
g_thread_init() and test concurrency resolution.
svn path=/trunk/; revision=5698
Mon Aug 13 14:18:22 2007 Tim Janik <timj@imendio.com>
* glib/gthread.c (g_thread_create_full): prevent linking a freed
GThread structure into global thread list in error cases.
svn path=/trunk/; revision=5697
2007-08-08 Matthias Clasen <mclasen@redhat.com>
* glib/gmarkup.c (append_escaped_text): Handle restricted
characters by converting them to numeric character
entities. (#464145, Andreas Monitzer)
* tests/markup-escape-test.c: Add tests for restricted
characters and numeric character entities.
svn path=/trunk/; revision=5684
2007-08-06 Tor Lillqvist <tml@novell.com>
* glib/gslice.c: Move the G_ENABLE_DEBUG ifdef inside
g_slice_debug_tree_statistics() so that the function exists (but
doesn't do anything) also in a non-debug build. (#440544)
svn path=/trunk/; revision=5679
Fri Jul 13 01:01:46 2007 Tim Janik <timj@imendio.com>
* glib/gthread.[hc]: more atomic ops pointer cast fixes. this time it'll
work with atomic op macros *and* atomic op functions.
svn path=/trunk/; revision=5638
Thu Jul 12 17:31:08 2007 Tim Janik <timj@imendio.com>
* tests/slice-concurrent.c: beautified output somewhat. fixed long
sleeps by reducing sleep accumulating and using randomized re-scheduling
(which works on UP and SMP). increased possible blocksizes.
svn path=/trunk/; revision=5631
Thu Jul 12 15:46:40 2007 Tim Janik <timj@imendio.com>
* glib/gslice.c: migrate per-thread magazine caches from single-thread
scenario to first thread using GSlice after g_thread_init(); based on
a patch by Tor Lillqvist, fixes#331853.
removed warning about g_thread_init() being called after other glib
functions (in particular g_slice* calls), because GSlice can cope
with this now and the rest of glib is believed to cope as well.
* tests/slice-threadinit.c: new test program which tests GSlice working
across g_thread_init() calls.
svn path=/trunk/; revision=5629
Tue Jul 10 12:24:35 2007 Tim Janik <timj@imendio.com>
* glib/gthread.[hc]: implemented g_once_init_enter(),
g_once_init_enter_impl() and g_once_init_leave(), based on a patch by
Antoine Tremblay, fixes#65041.
adapted exported inline function mechanism from gutils.[hc] for inlining
g_once_init_enter_impl() in gthread.[hc].
svn path=/trunk/; revision=5616
2007-07-09 Loïc Minier <lool@dooz.org>
* tests/refcount/closures.c: (main): Output newlines after thousand
iterations of the inner-loop of the closures test; this helps having
smaller lines and continuously outputting new lines. (#447048).
svn path=/trunk/; revision=5609
2007-07-09 Ryan Lortie <desrt@desrt.ca>
* glib/gfileutils.c (write_to_temp_file): save errno to prevent it
being clobbered by call to g_filename_display_name(). Bug #453796.
svn path=/trunk/; revision=5608
2007-07-06 Tor Lillqvist <tml@novell.com>
* glib/giowin32.c (g_io_win32_check): When WSAEnumNetworkEvents()
signals FD_CONNECT that means that the connection attempt
finished, either successfully or failed. Test explicitly whether
the connnection succeeded and set either G_IO_OUT if it did,
G_IO_ERR|G_IO_HUP if it failed.
Make sure we never set both G_IO_OUT and G_IO_HUP simultaneously
because in Unix poll(2) POLLOUT and POLLHUP are mutually
exclusive.
Ignore whether the caller wants to watch G_IO_HUP or not. Always
select for FD_CLOSE because Unix poll(2) also ignores whether
POLLHUP in set the requested events bitmask or not.
svn path=/trunk/; revision=5600
Mon Jun 25 16:43:13 2007 Tim Janik <timj@gtk.org>
* glib/ghash.c: g_hash_table_find(), g_hash_table_foreach():
document performance caveats for linear order searches.
svn path=/trunk/; revision=5587
2007-06-18 Mathias Hasselmann <mathias.hasselmann@gmx.de>
* glib/gstring.c: Restore old behaviour of
g_string_append_vprintf: g_vasprintf seems to be faster
than g_printf_string_upper_bound (#57693).
svn path=/trunk/; revision=5581
The g_timeout_add_seconds() API lacks a _full() counterpart, allowing the
setting of a destroy notification function to be invoked when the timeout
source is removed.
This patch adds g_timeout_add_seconds_full() to the public API and
reimplements g_timeout_add_seconds() as a call to g_timeout_add_seconds_full().
svn path=/trunk/; revision=5575
2007-06-15 Sebastian Wilhelmi <wilhelmi@google.com>
* docs/reference/glib/tmpl/threads.sgml: Extended the comments on
those functions, that are NOOPs, before g_thread_init() has been
called. (#447583)
* glib/gthread.c (g_static_mutex_free): Clarified comment to
remind myself, tha calling g_static_mutex_free() before
g_thread_init() is safe.
svn path=/trunk/; revision=5567
2007-06-15 Sebastian Wilhelmi <wilhelmi@google.com>
* glib/gregex.c: Replaced & by & in <programlisting> to make
gtk-doc happy.
svn path=/trunk/; revision=5565
2007-06-14 Ryan Lortie <desrt@desrt.ca>
* docs/reference/glib/glib-sections.txt:
* glib/glib/symbols:
* glib/gstring.[ch] (g_string_printf_internal): Improve
performance by removing the use of an intermediate g_malloc'd
buffer. Rename to g_string_append_vprintf, document, and expose
along with g_string_vprintf as new public API (#57693).
svn path=/trunk/; revision=5564
2007-06-13 Behdad Esfahbod <behdad@gnome.org>
* glib/pltcheck.sh: Whitelist g_atomic_{int,pointer}_[gs]et() as
we don't alias them intentionally.
svn path=/trunk/; revision=5556
2007-06-11 Emmanuele Bassi <ebassi@gnome.org>
* glib/gutils.c (maybe_expire_user_special_dirs),
(g_get_user_special_dir): Remove the cache expiration logic: it
makes g_get_user_special_dir() not thread-safe. Document the fact
that on some platform the value might be changed by the user and
that GLib won't be able to reflect the change.
svn path=/trunk/; revision=5550
2007-06-11 Tor Lillqvist <tml@novell.com>
* glib/gwin32.c (g_win32_get_package_installation_directory)
(g_win32_get_package_installation_subdirectory): Update doc
comments. Mention that it is not recommeded to use the Registry
features.
svn path=/trunk/; revision=5547
2007-06-06 Tor Lillqvist <tml@novell.com>
* glib/gutils.c: Add definitions for more CSIDL_* constants in
case missing from headers. Use CSIDL_PERSONAL instead of
CSIDL_MYDOCUMENTS as CSIDL_MYDOCUMENTS seems to be a new thing
that doesn't work in XP SP2 even.
svn path=/trunk/; revision=5544
2007-06-06 Matthias Clasen <mclasen@redhat.com>
* glib/gutils.c (g_get_user_special_dir): Fall back to
$HOME/Desktop for the DESKTOP directory, like
xdg_user_dir_lookup() does.
svn path=/trunk/; revision=5543
2007-06-05 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.c (g_key_file_is_key_name):
(g_key_file_is_group_name): Don't assume the string is
valid UTF-8, since it may be user data. (#444161, Ben Combee)
svn path=/trunk/; revision=5537
2007-06-05 Vincent Untz <vuntz@gnome.org>
* glib/goption.c: (g_option_context_get_help): don't replace the usage
line with the description for optional parameters, but append the
description. (#444130)
svn path=/trunk/; revision=5534
2007-06-04 Matthias Clasen <mclasen@redhat.com>
Add support for a number of special directories, as
defined by the xdg-user-dirs specification. (#432651,
Bastien Nocera, Emmanuele Bassi, Michael Natterer)
* glib/glib.symbols:
* glib/gutils.[hc]: Add the GUserDirectory enum and
g_get_user_special_dir(), with implementations based
on the xdg-user-dirs spec and on native interfaces
for Win32 and Carbon.
* configure.in: Add Carbon checks.
* tests/tetsglib.c: Test g_get_user_special_dir().
svn path=/trunk/; revision=5528
2007-06-03 Yevgen Muntyan <muntyan@tamu.edu>
* glib/gregex.c: fixed g_regex_fetch_named* for cases when (?J)
is used inside a pattern (#442265, comment #12).
* tests/regex-test.c: Test it.
svn path=/trunk/; revision=5526
2007-06-03 Yevgen Muntyan <muntyan@tamu.edu>
* glib/gregex.c:
* glib/gregex.h: New functions: g_regex_ref(), g_regex_unref() which
replaces g_regex_free(); g_match_info_get_regex(), g_match_info_get_string();
g_regex_check_replacement().
Made g_match_info_expand_references() accept NULL; changed GRegexEvalCallback
to take only arguments which are likely to be actualy used.
* docs/reference/glib/glib-sections.txt:
* glib/glib.symbols: Added new functions.
* tests/regex-test.c: Test them.
* docs/reference/glib/tmpl/gregex.sgml: Updated GRegexEvalCallback docs.
svn path=/trunk/; revision=5524
2007-05-29 Cody Russell <bratsche@gnome.org>
* configure.in: Fix a sed script that doesn't correctly detect
i586-mingw32-gcc-3.4 compiler, and was causing -Wno-pointer-sign
errors when building with that compiler. (#440896, Yevgen Muntyan)
svn path=/trunk/; revision=5520
2007-05-29 Marco Barisione <marco@barisione.org>
* glib/gregex.c: Fix g_regex_fetch_named() and
g_regex_fetch_named_pos() when G_REGEX_DUPNAMES is used (#434358,
Yevgen Muntyan and #419376, Marco Barisione, patch by Yevgen Muntyan)
svn path=/trunk/; revision=5518
2007-05-17 Matthias Clasen <mclasen@redhat.com>
* configure.in: Move the compiler-dependency in the G_GNUC_INTERNAL
definition from configure-time to runtime (of the compiler).
(#438869, Damien Carbery)
* glib/gdebug.h:
* glib/gmessages.h:
* glib/gunicodeprivate.h:
* glib/gthreadprivate.h: Move G_GNUC_INTERNAL before function
declarations to fix compilation with sun studio. (#438873,
Damien Carbery)
svn path=/trunk/; revision=5497
2007-05-13 Tor Lillqvist <tml@novell.com>
* glib/gwin32.h: Drop the pipe() macro. Defining macros outside of
its namespace that look like POSIX functions is not GLib's
business in my opinion. This means pipe()-using code that has
relied on this definition will need changing to call _pipe() on
Windows, and make the decision itself on what size pipe buffer to
use, and whether to use text or binary mode, and whether the pipe
handles should be inheritable or not.
* glib/gspawn-win32.c (make_pipe): Use _pipe() instead of pipe().
svn path=/trunk/; revision=5490
2007-05-11 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c: Allow G_OPTION_ARG_CALLBACK for
G_OPTION_REMAINING. (#437297, Dave Benson)
* tests/option-test.c: Add a test for this.
svn path=/trunk/; revision=5487
2007-05-02 Marco Barisione <marco@barisione.org>
* glib/gregex.c: Made more clear that the string passed to the match
functions cannot be freed before using g_match_info_fetch() and
similar functions, and fixed a typo.
svn path=/trunk/; revision=5474
2007-04-30 Chris Wilson <chris@chris-wilson.co.uk>
* glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
Include the gshell.h header file (to define g_shell_[un]quote)
and correct the order of the arguments to g_propagate_error(), as
spotted by gcc.
svn path=/trunk/; revision=5467
2007-04-29 Emmanuele Bassi <ebassi@gnome.org>
* glib/gbookmarkfile.c:
(g_bookmark_file_set_app_info): Quote the passed command line...
(g_bookmark_file_get_app_info): ... and unquote it when giving it
back. (#432274)
svn path=/trunk/; revision=5466
2007-04-27 Tor Lillqvist <tml@novell.com>
* glib/gstdio.c (g_mkdir): Document that the mode argument is
ignored on Windows
(g_stat): Document that st_mode is mostly useless on Windows.
svn path=/trunk/; revision=5463
2007-04-25 Michael Natterer <mitch@imendio.com>
* gparamspecs.c (param_string_validate): also clear the
NOCOPY_CONTENTS flag when replacing NULL with the empty string.
svn path=/trunk/; revision=5458
2007-04-24 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols:
* glib/goption.h:
* glib/goption.c (g_option_context_get_help): New function to
get the formatted help string. (#336089, Dom Lachowicz)
svn path=/trunk/; revision=5456
2007-04-24 Michael Natterer <mitch@imendio.com>
* gobject/gparamspecs.c (param_string_validate): don't free or
modify static strings, dup them when needed and clear the
G_VALUE_NOCOPY_CONTENTS flag. Fixes bug #432895.
* tests/gobject/paramspec-test.c: test all GParamSpecString
validations with static and allocated strings.
svn path=/trunk/; revision=5454
2007-04-19 William Jon McCann <mccann@jhu.edu>
* glib/gkeyfile.[ch]: (find_file_in_data_dirs),
(g_key_file_load_from_dirs), (g_key_file_load_from_data_dirs):
Add g_key_file_load_from_dirs for looking through a search
path for a key-file. (#355334)
svn path=/trunk/; revision=5453
2007-04-11 Emmanuele Bassi <ebassi@gnome.org>
* glib/ghash.[ch]: Add g_hash_table_get_keys() and
g_hash_table_get_values(), API to retrieve the keys
and values inside an hash table in list form. (#413133)
* glib/glib.symbols: Update symbols.
* tests/hash-test.c: Exercise newly added functions.
svn path=/trunk/; revision=5444
2007-04-11 Matthias Clasen <mclasen@redhat.com>
* configure.in: Use CFLAGS/LDFLAGS in addition to
PCRE_CFLAGS/PCRE_LIBS when checking system PCRE. (#421607,
Paul Jarc)
svn path=/trunk/; revision=5443
2007-03-22 Chris Wilson <chris@chris-wilson.co.uk>
* glib/gkeyfile.c: Track whether the last key=value pair in a group
is a blank line and during to_data() only insert a new blank line
betweens group in its absence. This allows the beautification of the
GKeyFile and prevents newlines being inserted indefinitely. (#420686)
* tests/keyfile-test.c (test_reload_idempotency): Test that after a
single beautification pass, g_key_file_to_data() does not alter its
input data.
svn path=/trunk/; revision=5431
2007-03-17 Marco Barisione <marco@barisione.org>
* glib/update-pcre/table-reduction.patch:
* glib/update-pcre/make_utt.py:
* glib/update-pcre/utt.patch: Add forgotten files
* glib/update-pcre/update.sh: Call python directly instead of relying
on shebang. Also copy the changes from glib/pcre/makefile.msc to this
file
svn path=/trunk/; revision=5425
2007-03-17 Hans Breuer <hans@breuer.org>
* glib/makefile.msc.in glib/pcre/makefile.msc
glib/update-pcre/update.sh : define PCRE_STATIC to reflect the
inclusion of pcre as LIB, not stand-alone DLL. Also set NEWLINE=-1
to match any newline by default, use of ../../build/win32/make.msc
* glib/gregex.h : minimal includes of <glib/*.H> instead of <glib.h>
* glib/gnulib/makefile.msc : make use of ../../build/win32/make.msc
* tests/regex-test.c(verbose): don't pass a string containing '%'
as first parameter to g_print ()
(test_match) : for the unexpected case output pattern and string
escaped
* tests/child-test.c tests/slice-color.c : fix c99ism
* tests/slice-test.c : fix c99ism and gccism
* tests/mapping-test.c tests/base-64-tests.c : don't
#include <unistd.h> unconditionally
* tests/option-test.c : use G_GINT64_CONSTANT() instead of direct LL
* tests/makefile.msc.in : more tests build
svn path=/trunk/; revision=5423
2007-03-16 Matthias Clasen <mclasen@redhat.com>
* glib/gbase64.c (g_base64_decode): Warn if the input
is too short. (#418862, Halton Huo)
svn path=/trunk/; revision=5417
Fri Mar 16 11:24:51 2007 Tim Janik <timj@imendio.com>
* glib/gscanner.[hc]: reverted premature commit which broke
GScanner ABI and API, #415323.
svn path=/trunk/; revision=5415
2007-03-16 Chris Wilson <chris@chris-wilson.co.uk>
* glib/gkeyfile.c: Convert to GSlice and check for redundant
clears. (#418637)
svn path=/trunk/; revision=5413
2007-03-15 Matthias Clasen <mclasen@redhat.com>
* glib/gscanner.c (g_scanner_get_token_ll): Fix a typo
in the last commit. (#415323, Richard Hult)
svn path=/trunk/; revision=5412
2007-03-15 Tor Lillqvist <tml@novell.com>
* glib/gnulib/Makefile.am (INCLUDES): Add -I$(top_srcdir)/glib so
that gregex.h finds <glib.h>.
* glib/update-pcre/Makefille.am-1: Add -DGLIB_COMPILATION so that
we don't think g_ascii_table is dllimport.
* glib/pcre/Makefile.am: Corresponding change.
* glib/update-pcre/notdll.patch: New file. Drop
dllimport/dllexport magic for the pcre symbols.
* glib/update-pcre/Makefile.am: Dist it.
* glib/update-pcre/update.sh: Apply notdll.patch.
* glib/pcre/pcre.h: Corresponding change.
2007-03-15 Tor Lillqvist <tml@novell.com>
* glib/gtypes.h: Add comment to avoid misleading people with the
large number of digits in G_PI etc. (#404338)
svn path=/trunk/; revision=5410
2007-03-15 Chris Wilson <chris@chris-wilson.co.uk>
* glib/gmain.c (g_main_dispatch): Replace a
g_slist_prepend/g_slist_remove pair with an on-stack link
and open coding. (#416094)
svn path=/trunk/; revision=5407
2007-03-15 Matthias Clasen <mclasen@redhat.com>
* glib/gscanner.[hc]: Some optimizations, use a lookup
table for character classes, pre-allocate GStrings with
reasonable sizes. (#415323, Charlie Brej)
svn path=/trunk/; revision=5405
2007-03-06 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.c (g_key_file_parse_value_as_boolean):
Remove a NULL check that didn't do any good. (#360904,
Paolo Borelli)
svn path=/trunk/; revision=5375
2007-03-06 Matthias Clasen <mclasen@redhat.com>
* glib/gmarkup.c (g_markup_parse_context_parse): Report
more accurate position for invalid UTF-8. (#350802,
Simon Budig)
svn path=/trunk/; revision=5373
2007-03-06 Matthias Clasen <mclasen@redhat.com>
Work with Solaris gettext (#341988, Laszlo Peter)
* m4macros/glib-gettext.m4: Make GLIB_WITH_NLS define
MSGFMT_OPTS if msgfmt supports -c.
* po/Makefile.in.in: Use MSGFMT_OPTS when calling
msgfmt.
svn path=/trunk/; revision=5369
2007-03-06 Matthias Clasen <mclasen@Redhat.com>
* tests/Makefile.am: Apply a patch by Loïc Minier
to fix building with -Wl,-z,defs. (#149144)
svn path=/trunk/; revision=5367
2007-02-17 Tor Lillqvist <tml@novell.com>
* glib/gdate.c (win32_strftime_helper): New Win32-only
function. Use the wide character Win32 API to do the work of
strftime(): GetThreadLocale(), GetLocaleInfoW(), GetDateFormatW()
and GetTimeFormatW().
(g_date_strftime): On Windows use win32_strftime_helper()
instead of strftime() to avoid codepage issues with strftime().
Unfortunately using wcsftime() would not help either. (#404832)
svn path=/trunk/; revision=5339
2007-02-16 Soren Sandmann <sandmann@redhat.com>
* tests/sequence-test.c: For move, test moving between two
sequences. Add test for swap.
* glib/gsequence.c: Replace splay tree with a treap.
(check_node): Add checks for the treap invariants.
svn path=/trunk/; revision=5337
Fri Feb 9 17:46:18 2007 Søren Sandmann <sandmann@redhat.com>
* glib/gsequence.c (g_sequence_get_end_iter): Remove assertion.
* glib/gsequence.c (is_end): Return TRUE if the iter doesn't have
a parent.
* glib/gsequence.c: Fix grammar of comment.
* glib/gsequence.c (node_update_fields): Use a temporary variable
for the n_nodes.
svn path=/trunk/; revision=5331
2007-02-07 Soren Sandmann <sandmann@daimi.au.dk>
* tests/sequence-test.c (compare_items): Force an arbitrary order
on otherwise identical items.
* glib/gsequence.c: Add comment discussing splay trees vs. other trees.
* glib/gsequence.c (is_end): Add fast path for the common case
when the node is not actually the end node.
svn path=/trunk/; revision=5328
2007-02-03 Soren Sandmann <sandmann@daimi.au.dk>
* glib/gsequence.c (struct _GSequence): Add a new 'real_sequence'
field.
(g_sequence_new): Initialize real_sequence to the sequence
(g_sequence_sort_iter): Set real_sequence of the temporary
sequence to the real sequence.
(g_sequence_sort_changed_iter): Same
(g_sequence_insert_sorted_iter): Same
(g_sequence_search_iter): Same
(g_sequence_iter_get_sequence): Return real_sequence
* tests/sequence-test.c (compare_iters): Insert assertions that
the iters point to the sequence being manipulated.
svn path=/trunk/; revision=5323
2007-02-03 Soren Sandmann <sandmann@daimi.au.dk>
* glib/gsequence.[ch]: New files implementing GSequence, a list
implemented using a binary tree.
* glib/glib.h, glib/glib.symbols: Update for GSequence.
* docs/reference: Add documentation for GSequence
* tests: Add sequence-test.c, a thorough test of all of
the GSequence API.
svn path=/trunk/; revision=5322
2007-01-30 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols:
* glib/gslice.h:
* glib/gslice.c: Don't make ABI depend on G_ENABLE_DEBUG,
just add an empty g_slice_debug_tree_statistics () implementation
in the !G_ENABLE_DEBUG case.
svn path=/trunk/; revision=5318
2007-01-26 Matthias Clasen <mclasen@redhat.com>
* configure.in: Define G_GNUC_INTERNAL for Sun Studio
as __hidden. (#342981, Brian Cameron)
* glib/gconvert.c:
* glib/gutf8.c: Move G_GNUC_INTERNAL uses to the right
spot.
2
svn path=/trunk/; revision=5317
2007-01-26 Matthias Clasen <mclasen@redhat.com>
* gmem.c:
* gslice.c:
* gmessages.c:
* gutils.c: Make some structs which are used only once
non-static.
svn path=/trunk/; revision=5316
2007-01-23 Matthias Clasen <mclasen@redhat.com>
* glib/gutf8.c (g_utf8_get_char_validated): Clarify
the behaviour is max_len is zero. (#400044,
Benjamin Dauvergne)
svn path=/trunk/; revision=5311
2007-01-23 Matthias Clasen <mclasen@redhat.com>
* glib/goption.c (print_help): Use bitwise &
when operating on flags. (#399971, Jon Oberheide)
svn path=/trunk/; revision=5308
2007-01-17 Tor Lillqvist <tml@novell.com>
* config.h.win32.in
* glib/galloca.h
* glib/gbacktrace.h
* glib/gwin32.c
* glibconfig.h.win32.in
* README.win32: More minor tweaks for Digital Mars
compiler. (#346808, Serhat Sevki Dincer)
svn path=/trunk/; revision=5294
2007-01-17 Tor Lillqvist <tml@novell.com>
* glib-zip.in: DLLs are always installed in "bin" with current
libtool, drop unnecessary logic to check where they are. Include
also the COPYING file.
svn path=/trunk/; revision=5287
2007-01-17 Tor Lillqvist <tml@novell.com>
* glib/galloca.h: Use <malloc.h> also with Digital Mars compiler
on Win32. (#346808, Serhat Sevki Dincer)
svn path=/trunk/; revision=5285
2007-01-16 Matthias Clasen <mclasen@redhat.com>
* glib/gthread.h:
* glib/gthread.c:
* glib/glib.symbols: Revert an accidental ABI break by
moving gettime out of the GThreadFunctions struct and making
it a separate variable. (#397139, Joe Marcus Clarke)
* gthread/*.c: Adapt.
svn path=/trunk/; revision=5279
2007-01-16 Tor Lillqvist <tml@novell.com>
* glib/gthread.c (gettime)
* gthread-win32.c (g_gettime_win32_impl):
GetSystemTimeAsFileTime() returns 100s of nanoseconds since 1601,
so offset to Unix epoch (1970) and multiply by 100 to get
nanoseconds which is what we want.
svn path=/trunk/; revision=5277
2007-01-16 Tor Lillqvist <tml@novell.com>
* glib/gthread.c (gettime)
* gthread-win32.c (g_gettime_win32_impl):
GetSystemTimeAsFileTime() returns 100s of nanoseconds, so multiply
by 100 to get nanoseconds which is what we want.
svn path=/trunk/; revision=5276
2005-01-15 Matthias Clasen <mclasen@redhat.com>
* glib/gthread.c:
* gthread/gthread-posix.c: Correct the gettime calculations
once more. (#395203, Chris Wilson)
svn path=/trunk/; revision=5262
2007-01-15 Tor Lillqvist <tml@novell.com>
* glib/gmain.h (struct _GPollFD): Prepare for potential Win64
build: Use gint64 for the fd field on Win64, as we want to be able
to store a HANDLE in it. (#395422) (Other changes will surely also
be necessary when building on Win64, at least in gwin32.c.)
svn path=/trunk/; revision=5260
2007-01-15 Tor Lillqvist <tml@novell.com>
* glib/gwin32.c (g_win32_getlocale): Simplify greatly. Instead of
hardcoding a large switch statement, just ask Windows for the
ISO639 and ISO3166 codes. Tack on @Latn or @Cyrl for those
languages which can alternatively be written in Latin or Cyrillic.
svn path=/trunk/; revision=5257
2007-01-12 Matthias Clasen <mclasen@redhat.com>
* glib/gkeyfile.c: Rework the handling of invalid
keys/groups again. We are back to being liberal about
what we accept, and only reject things that would lead
to non-rereadable keyfiles.
* tests/keyfile-test.c: Adapt tests.
svn path=/trunk/; revision=5254
2007-01-12 Matthias Clasen <mclasen@redhat.com>
* configure.in: Make G_GNUC_INTERNAL a no-op for
gcc 2.95. (#329031, David Schleef, Marc Brockschmidt)
svn path=/trunk/; revision=5245
2007-01-12 Matthias Clasen <mclasen@redhat.com>
* gthread/gthread-posix.c:
* glib/gtimer.c:
* glib/gthread.c: Fix errors in the recently moved
time calculations. (#395203, Chris Wilson)
svn path=/trunk/; revision=5244
2007-01-09 Behdad Esfahbod <behdad@gnome.org>
* glib/gutils.h: Use a more optimized g_bit_storage() when gcc is
available. (#371670, Daniel Elstner)
svn path=/trunk/; revision=5234
2007-01-07 Matthias Clasen <mclasen@redhat.com>
Don't link glib against libpthread. (#393812)
* configure.in: Link gthread against librt, not glib itself.
* glib/gthread.h:
* glib/gthread.c: Add a new thread function, gettime.
* glib/gtimer.c: Use gettime instead of directly working with
the various system interfaces.
* gthread/gthread-impl.c:
* gthread/gthread-posix.c:
* gthread/gthread-win32.c: Implement gettime.
svn path=/trunk/; revision=5227
2007-01-07 Tor Lillqvist <tml@novell.com>
* glib/giowin32.c: Handle GIOChannels for file descriptors
connected to the console separately. This would typically be the
fd 0, 1, or 2 (if not redirected) in a console application. For
such fds we don't need a separate thread, as console HANDLEs are
waitable objects. (#359202, Michiel de Hoon)
svn path=/trunk/; revision=5222
2007-01-03 Behdad Esfahbod <behdad@gnome.org>
* glib/goption.c (_g_unichar_get_width), (_g_utf8_strwidth),
(calculate_max_length), (print_entry), (print_help): Take zerowidth
and double-width chars into consideration when computing width of a
string. Also fix another bug in width computation.
* glib/guniprop.c (g_unichar_iszerowidth): Fix typo. It was not
working correctly.
svn path=/trunk/; revision=5204
2007-01-03 Behdad Esfahbod <behdad@gnome.org>
* 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.
svn path=/trunk/; revision=5200
2007-01-02 Emmanuele Bassi <ebassi@gnome.org>
* glib/gbookmarkfile.c (expand_exec_line): Add support for
expanding the desktop entry spec variables %U (list of URIs)
and %F (list of filenames), so that using the command line
from the Exec and TryExec key of a desktop entry file works
as intended.
svn path=/trunk/; revision=5196
2007-01-02 Matthias Clasen <mclasen@redhat.com>
* glib/gbookmarkfile.c (g_bookmark_file_get_app_info):
Return an error if the uri is bad. (#391370, Maciej Piechotka)
svn path=/trunk/; revision=5192
2007-01-02 Michael Natterer <mitch@imendio.com>
* configure.in
* Makefile.am: remove references to build/ until a proper decision
has been made what to do with it.
svn path=/trunk/; revision=5189
Fri Dec 29 13:28:07 2006 Tim Janik <timj@imendio.com>
* 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.
Thu Dec 28 21:14:45 2006 Tim Janik <timj@imendio.com>
* 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 <tml@novell.com>
* 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 <timj@imendio.com>
* 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 Ryan Lortie <desrt@desrt.ca>
* glib/ghash.c: cache the value of the hash function
in the GHashNode. this speeds up resizing the hash
table and it also allows a slight optimisation on
lookups. (#388332)
2006-12-24 Matthias Clasen <mclasen@redhat.com>
* 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-19 Matthias Clasen <mclasen@redhat.com>
* 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.
2
* 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)
2006-12-18 Matthias Clasen <mclasen@redhat.com>
* 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.
2006-12-17 Matthias Clasen <mclasen@redhat.com>
* configure.in: Make montonic clock test work again. Does
AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
tests below the thread checks to fix#364663.
2006-12-16 Matthias Clasen <mclasen@redhat.com>
* configure.in: Use AC_COMPILE_IFELSE for the monotonic
clock test. (#362918, Han-Wen Nienhuys, Jeremy Lainé)
2006-12-15 Matthias Clasen <mclasen@redhat.com>
* configure.in: On Solaris, set CFLAGS and LDFLAGS that
work both with Sun cc and gcc. (#315061, Lazlo Peter)
2006-12-15 Matthias Clasen <mclasen@redhat.com>
* glib/glib.symbols:
* glib/gstring.[hc] (g_string_chunk_clear): Add a function
for clearing a GStringChunk. (#364608, Matt Barnes)
2006-12-15 Matthias Clasen <mclasen@redhat.com>
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 <mclasen@redhat.com>
* 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 <mclasen@redhat.com>
* 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-12 Matthias Clasen <mclasen@redhat.com>
* 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-10-26 Pascal Terjan <pterjan@linuxfr.org>
* glib/libcharset/localcharset.c: Fix small leak on failed
realloc in _g_locale_get_charset_aliases (#338582)
2006-10-15 Sebastian Wilhelmi <seppi@seppi.de>
* tests/Makefile.am: Compile errorcheck-mutex-test with thread
libraries explicitly. (#74748, Javier Villavicencio)