2005-12-09 Matthias Clasen <
[email protected]>
* === Released 2.9.1 ===
2005-12-09 Alexander Larsson <
[email protected]>
* glib/glist.h:
* glib/gslist.h:
Use G_GNUC_WARN_UNUSED_RESULT on list functions that return
the whole list.
2005-12-08 Matthias Clasen <
[email protected]>
* NEWS: Updates
2005-12-07 Martyn Russell <
[email protected]>
* glib/gasyncqueue.c:
- Call g_queue_insert_sorted() instead of duplicating the code.
- Call g_queue_sort() instead of duplicating the code.
- Invert sort function results to make sure the same sort function
gives the same results across glist, gslist, gqueue and
gasyncqueue.
* tests/asyncqueue-test.c:
- Updated the sort function to reflect the example in the
documentation for gasyncqueue.c.
2005-12-07 Martyn Russell <
[email protected]>
* docs/reference/glib/glib-sections.txt:
* docs/reference/glib/tmpl/linked_lists_double.sgml:
* docs/reference/glib/tmpl/linked_lists_single.sgml:
* glib/glist.[ch]:
* glib/gslist.[ch]:
- Added g_list_insert_sorted_with_data () and
g_slist_insert_sorted_with_data ().
- Removed the extra check in g_list_sort() and g_slist_sort() for
GCompareDataFunc vs. GCompareFunc.
2005-12-07 Tor Lillqvist <
[email protected]>
* glib-gettextize.in: Look up prefix at run-time on Win32,
assuming the standard directory structure with glib-gettextize in
$prefix/bin.
2005-12-06 Matthias Clasen <
[email protected]>
* glib/gmem.h: Exempt GTK+ from the mem chunk deprecation, since
we need GTK+ 2.8 to compile against GLib 2.10.
2005-12-05 Manish Singh <
[email protected]>
* tests/run-collate-test.sh: set LC_COLLATE, not LANG, to be sure
to override any user settings.
2005-12-05 Matthias Clasen <
[email protected]>
* configure.in: Revert an accidential commit
2005-12-05 Matthias Clasen <
[email protected]>
* glib/gutf8.c: Documentation updates. (#323291, Morten Welinder)
* tests/Makefile.am (TESTS_ENVIRONMENT):
* tests/gobject/Makefile.am (TESTS_ENVIRONMENT): Set
MALLOC_CHECK_ and MALLOC_PERTURB_
* tests/run-collate-tests.sh: Run the collation tests explicitly
in en_US locale. (#320463)
* glib/gmem.h: Really deprecate GMemChunk.
* glib/gdate.c:
* glib/gutils.c:
* glib/gtree.c:
* glib/gstring.c:
* glib/giochannel.c:
* glib/gstrfuncs.c: Add versioned deprecation docs.
2005-12-05 Martyn Russell <
[email protected]>
* docs/reference/glib/glib-sections.txt:
* glib/gasyncqueue.[ch]:
- Added support for sorting async queues by with _push_sorted(),
_push_sorted_unlocked(), _sort() and _sort_unlocked() (#323047).
* tests/Makefile.am:
* tests/asyncqueue-test.c:
- Added test case for gasyncqueue.c
Mon Dec 5 15:53:20 2005 Tim Janik <
[email protected]>
* glib/gslice.c: implement chain walking for arbitrary ->next pointer
offsets in g_slice_free_chain_with_offset() based on a patch by behdad
in bug 323178. moved time consuming logic from g_slice_free() out of
the inner loop, so g_slice_free_chain_with_offset() provides a real
performance benefit over g_slice_free1() now.
* glib/gslice.h: renamed g_slice_free_chain() to
g_slice_free_chain_with_offset(). implemented g_slice_free_chain() as
a type-safe macro as suggested in bug 323178.
simplified the macro implementation of g_slice_free() and implemented
it in a type safe manner for all compliers as suggested by Morten
Welinder <
[email protected]>.
* glib/gmain.c:
* glib/glist.c:
* glib/gslist.c:
* glib/glib.symbols: s/g_slice_free_chain/g_slice_free_chain_with_offset/
2005-12-05 Matthias Clasen <
[email protected]>
* glib/gasyncqueue.c: Add some docs.
* tests/libmoduletestplugin_a.c: Fix compiler warnings.
* glib/gatomic.c: In the ia64 implementation, use
__sync builtin without _si or _di suffix. (#321229,
Stanislav Brabec, patch by Andreas Schwab)
2005-12-04 Behdad Esfahbod <
[email protected]>
* glib/gslice.h: Remove comma at the end of enum.
2005-12-04 Matthias Clasen <
[email protected]>
Handle multiple user names with the same UID better.
(#319535, Laszlo Peter)
* glib/gutils.c (g_get_any_init_do): When determining user
data, first look up $LOGNAME. If the UID doesn't match
getuid(), fall back to the current behaviour of looking
up the user data based on getuid().
2005-12-04 Matthias Clasen <
[email protected]>
* glib/gmacros.h (G_GNUC_WARN_UNUSED_RESULT): Add a macro
to make gcc warn if a function result is ignored. (#145466,
Arjan van de Ven, Alex Larsson)
* glib/gmem.h: Add the new attribute to g_realloc and
g_try_realloc.
2005-12-03 Matthias Clasen <
[email protected]>
* glib/glib.symbols:
* glib/gcache.h: Deprecate g_cache_value_foreach. (#322956,
Nicolas Caniart)
* glib/gmappedfile.c: Make mapping of empty files
work. (#321530)
* glib/gfileutils.c: Don't fork a new process just to
fix the permissions of the created temp file. (#321318,
Alexis S. L. Carvalho)
2005-12-02 Matthias Clasen <
[email protected]>
* README.in: Add a note about Solaris threads.
* glib/gspawn.c:
* configure.in: Remove support for Solaris threads.
(#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
2005-12-02 Matthias Clasen <
[email protected]>
* configure.in: Define G_GUINT64_CONSTANT in analogy to
G_GINT64_CONSTANT. (#322568, Andrew Paprocki)
2005-12-02 Matthias Clasen <
[email protected]>
* glib/gslice.c: Win32 portability fixes and C99ism removal,
pointed out by Kazuki Iwamoto. (#323052)
2005-12-02 Matthias Clasen <
[email protected]>
* glib/gatomic.c (g_atomic_int_add): Add a missing volatile for
the IA64 implementation.
Fri Dec 2 16:18:09 2005 Tim Janik <
[email protected]>
* glib/gslice.c: some naming and type size fixups.
Fri Dec 2 13:08:58 2005 Tim Janik <
[email protected]>
* glib/gslice.h (g_slice_free): reworked GCC-specific type-safe macro
variant into something less verbose, but digestible for gcc-3.4.
Fri Dec 2 10:55:07 2005 Tim Janik <
[email protected]>
* tests/slice-test.c: extended to perform the benchmarking on the old
memchunk code if 'O' is selected.
* tests/memchunks.c: new file which contains the old GLib mem chunks
implementation with prefix old_mem_chunk_.
* tests/Makefile.am: added memchunks.c
Fri Dec 2 00:16:59 2005 Tim Janik <
[email protected]>
* glib/gslice.c: improved gettimeofday() timer resolution by maintaining
acceptable load distribution of the syscall.
(allocator_get_magazine_threshold): reduce minimum/single-thread magazine
sizes to approximately page_size/2.5 to avoid excessive startup allocations.
2005-12-01 Matthias Clasen <
[email protected]>
* tests/gobject/ifacecheck.c (test_iface_base_init): Don't
double-free base interface members.
* tests/Makefile.am: Remove duplicate variable.
Thu Dec 1 17:32:46 2005 Tim Janik <
[email protected]>
* glib/gslice.[hc]: new slice allocator implementation.
* tests/slice-test.c: added random slice allocation test.
* glib/gthread.[hc]: removed newly added private thread mem API.
* glib/gthreadinit.h:
* glib/gmessages.c:
* glib/gthread.c:
* glib/gmem.c: divided glib threading initialisation into three phases,
initialisation where private keys and messaging are not available (only
needed by gmem.c), initialisation without messaging but private keys
available (gslice.c, gmessage.c), and full fledged initialisers that
server the rest of glib. initialisation functions got renamed to reflect
the limitations of their corresponding phases.
* glib/gmem.c: removed memchunk code, defer allocations to
g_slice_* instead.
* glib/gmem.[hc]: removed g_slice_* skeletons.
* glib/glib.symbols: added g_slice_* symbols.
* configure.in: check for availability of posix_memalign(3), memalign(3)
and valloc(3).
* glib/Makefile.am: added gslice.[hc].
2005-12-01 Tor Lillqvist <
[email protected]>
* glib/gstdio.c (g_stat): In the Win32 implementation, strip
trailing slash(es) for non-root folders. stat() fails if non-root
folders are specified with trailing slashes. It's too much hassle
to demand that callers strip such slashes themselves, especially
as it is easy to get it wrong and strip the slash of a root
folder.
(g_rename): On NT-based Windows, use MoveFileEx() with
MOVEFILE_REPLACE_EXISTING to better match Unix behaviour.
2005-11-28 Matthias Clasen <
[email protected]>
Fix G_STMT_START / G_STMT_END on Solaris. (#321972,
Andrew Paprocki)
* configure.in: Check whether do { } while (0) works.
* glib/gmacros.h: Use do { } while (0) for G_STMT_START /
G_STMT_END if it works.
2005-11-28 Matthias Clasen <
[email protected]>
* glib/gthread.c (g_static_rw_lock_wait, g_static_rw_lock_signal):
* glib/gnode.c (g_node_depth_traverse_level):
* glib/gmem.c (g_allocator_new):
* glib/ghash.c (g_hash_table_unref, g_hash_table_destroy)
(g_hash_table_foreach_remove_or_steal): Silence compiler
warnings.
2005-11-27 Matthias Clasen <
[email protected]>
* glib/gunicollate.c (g_utf8_collate_key_for_filename):
Don't read beyond len. (#322520, Christian Persch)
Wed Nov 23 17:34:01 2005 Tim Janik <
[email protected]>
* glib/gdataset.c: access datalist flags via atomic pointer access
functions, instead of acquiring the dataset lock. this is faster and
also matches the atomic pointer readouts in gdatalistprivate.h and
direct pointer modifications required by gobject.c.
Wed Nov 23 13:35:31 2005 Tim Janik <
[email protected]>
* glib/gdataset.c: streamlined initialization code somewhat,
removed GData node cache.
2005-11-22 Matthias Clasen <
[email protected]>
* glib/ghash.c (g_hash_table_ref):
(g_hash_table_unref): Mark these as new API.
Avoid double locking in g_intern_string (#322133,
Benedikt Meurer)
* glib/gdataset.c (g_quark_from_string_internal): New
internal function which factors out common parts of
g_quark_from[_static]_string.
(g_quark_from_string, g_quark_from_static_string):
Use g_quark_from_string_internal.
(g_intern_string, g_intern_static_string): Use
g_quark_from_string_internal, and only take the
lock once.
(g_quark_new): Don't store the strings shifted by -1
in the g_quarks array.
(g_quark_to_string): Adapt to the previous change.
Tue Nov 22 14:04:26 2005 Tim Janik <
[email protected]>
* glib/ghash.h:
* glib/ghash.c:
g_hash_table_new_full(): create hash tables with a ref count of 1.
g_hash_table_ref(): atomically ref_count+=1
g_hash_table_unref(): atomically ref_count-=1, destroys hash table
when refcount reaches 0.
g_hash_table_destroy(): just destroy keys and values, unref by 1.
g_hash_table_insert():
g_hash_table_replace(): assert ref_count>0.
* glib/gatomic.h:
* glib/gatomic.c: added 'volatile' qualifier to all atomic pointer and
integer pointers.
2005-11-20 Behdad Esfahbod <
[email protected]>
* glib/guniprop.c (g_unichar_get_mirror_char): Remove unused
variables. (#321984, Andrew Paprocki)
2005-11-18 Matthias Clasen <
[email protected]>
* configure.in: Bump version