Modified Files:
glib/ChangeLog glib/glib.def glib/glib/giochannel.c
glib/glib/giochannel.h glib/glib/giounix.c
glib/glib/giowin32.c
glib/docs/reference/glib/glib-sections.txt
glib/tests/iochannel-test.c glib/tests/unicode-collate.c
glib/tests/unicode-normalize.c
Added Files:
glib/tests/iochannel-test-infile
* glib/giochannel.c: API changes, fixes to
error handling, some internal restructuring
* glib/giochannel.h: API changes, documentation for
elements in GIOChannel structure
* glib/giounix.c: Matched API changes, implemented
backend to set is_readable, is_writeable, is_seekable
flags, added a test to catch large values of count
for which the behavior of write() is undefined
* glib/giowin32.c: Changed to match new prototypes for
io_close() and io_seek(), removed references to
G_IO_STATUS_INTR, set is_seekable flag in channel
creation functions
* glib.def: Renamed g_channel_error_quark() and
g_channel_error_from_errno() to g_io_channel_error_quark() and
g_io_channel_error_from_errno(); added new functions
g_io_channel_get_buffered() and g_io_channel_set_buffered()
* docs/reference/glib/glib-sections.txt: Modified iochannel
section to reflect new functions and API changes
* tests/iochannel-test.c: Fixed to work with API changes
* tests/iochannel-test-infile: New file; input file
for iochannel-test
* tests/unicode-collate.c tests/unicode-normalize.c:
Changed G_IO_FILE_MODE_READ to "r" to match API change
2001-07-20 Hans Breuer <hans@breuer.org>
* glib/glib/giowin32.c : make it compile again
* glib/glib.def : updated exports
* glib/makefile.msc.in :
* glib/makefile.mingw.in :
* tests/makefile.msc.in : reflect glib move
* tests/mainloop-test.c : #include <io.h> for _pipe()
* tests/gio-test.c : casts for strict compiler settings
* makefile.msc.in : new master makefile reflecting the glib
move. The '.in' isn't really needed anymore, because there
is no version number in it
* glib/gstrfuncs.c: (g_ascii_strdown), (g_ascii_strup): Add
missing const.
(g_strsplit): Add g_return_val_if_fail for case of empty
delimiter, which can result in an infinite loop otherwise.
* glib/gstrfuncs.h: Add missing const.
* tests/.cvsignore: Ignore a generated file.
* tests/array-test.c:
* tests/dirname-test.c:
* tests/hash-test.c:
* tests/list-test.c:
* tests/node-test.c:
* tests/relation-test.c:
* tests/shell-test.c:
* tests/slist-test.c:
* tests/spawn-test.c:
* tests/strfunc-test.c:
* tests/string-test.c:
* tests/testglib.c:
* tests/tree-test.c:
* tests/type-test.c:
Add an #undef G_DISABLE_ASSERT so all tests will assert even if
asserts are disabled inside glib itself.
Fri Jul 13 19:20:06 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstring.c (g_string_insert/append/prepend_unichar):
Add functions to insert a unichar as UTF-8, since this
is reasonably common.
* glib/gutf8.c glib/gunicode.h (g_utf8_get_char_validated):
New function exposing iterating through possibly invalid/incomplete
UTF-8 to unicode to the outside world.
* glib/gutf8.c (g_utf8_get_char_extended): Fix max_len argument
to be gssize, not gsize.
2001-07-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/gmain.c: Add some assertions. Simplify and fix
g_main_context_release(). Fix some locking bugs in
g_main_loop_run().
* glib/gmessages.c: Changed prototype of printf_string_upper_bound
to return gsize. Now matches the actual function body.
* glib/gstrfuncs.c (g_strrstr_len): Changed type of parameter #2
from gint to gssize. Now matches the prototype in gstrfuncs.h.
* .cvsignore: Add some generated files.
* glib/gmain.c: (g_main_context_iterate): Comment out cruft
after #endif to avoid gcc warning.
* gmodule/gmodule.c: (g_module_set_error_unduped): Remove
const from type to avoid gcc warning.
* gobject/gsignal.c: (g_signal_emitv): ifdef variable used
only if G_ENABLE_DEBUG to avoid gcc warning.
* gobject/gtype.c: (type_iface_vtable_init_Wm),
(type_iface_vtable_finalize_Wm): ifdef call needed only
if !G_DISABLE_ASSERT to avoid gcc warning.
* tests/testglib.c: (main): ifdef call needed only if
!G_DISABLE_ASSERT to avoid gcc warning. Maybe later we
should make the test to #undef G_DISABLE_ASSERT.
* tests/unicode-collate.c: Add include of <string.h> to
avoid gcc warning.
Wed Jul 11 11:13:50 2001 Owen Taylor <otaylor@redhat.com>
* glib/Makefile.am (libglib_1_3_la_SOURCES): Add gunicomp.h
(Reported by Sven Neumann).
* glib/guniprop.c (g_utf8_str/updown) glib/gunicollate.c
(g_utf8_collate_key): Fix shadowing problems reported by
many (D. Adler, S. Neumann, M. Murmane, L. Peter)
2001-07-08 Martin Baulig <baulig@suse.de>
* tests/unicode-normalize.c, tests/unicode-collate.c:
Reflect latest g_io_channel_new_file() API changes, use
G_IO_FILE_MODE_READ instead of "r".
Sat Jun 30 23:14:32 2001 Tim Janik <timj@gtk.org>
* glib/glist.[hc]: added g_list_insert_before().
* glib/gslist.c (g_slist_insert_before): provide an implementation,
prototype was already present...
Sat Jun 30 11:07:00 2001 Tim Janik <timj@gtk.org>
* gobject.[hc]: provide weak_ref/weak_unref functions,
invoked from ->dispose. renamed ->shutdown() to ->dispose(),
provide "public" API entry here: g_object_run_dispose(), this
fucntion should _only_ be called from object system implementations
(e.g. gtkobject.c) if at all.
* gtypemodule.c (g_type_module_dispose): s/shutdown/dispose/
* gsignal.h: removed compat aliases.
* gobject.c (g_object_connect): support data objects.
Sun Jul 1 20:16:25 2001 Owen Taylor <otaylor@redhat.com>
* glib/guniprop.c (g_unichar_totitle): Use G_N_ELEMENTS
rather than a custom macro.
* glib/gen-unicode-tables.pl: Adapt to changes in table
formats for Unicode 3.1
* glib/gunicode.h glib/guniprop.c glib/gunichartables.h
glib/gen-unicode-tables.pl: Add case conversion functions
g_utf8_casefold, g_utf8_strup, g_utf8_strdown.
* tests/unicode-caseconv.c tests/gen-casefold-txt.pl
tests/gen-casemap-txt.pl tests/casefold.txt
tests/casemap.txt: Test cases for case conversion.
* glib/gunicode.h glib/gunidecomp.[ch] glib/gunicomp.h
glib/gen-unicode-tables.pl: Add function to do Unicode
normalization g_utf8_normalize().
* tests/unicode-normalize.c: Test program for case conversion.
* glib/gunicode.h glib/gunicollate.c: Add collation functions
g_utf8_collate, g_utf8_collate_key.
* test/unicode-collate.c: Test program for collation.
* glib/gdate.c (g_date_fill_parse_tokens): Fix uninitialized
variable.
* glib/gdate.c (g_date_strftime) docs/Changes-2.0.txt:
Make work with UTF-8 even if the locale isn't UTF-8 based.
Still somewhat of broken, if the format string contains
characters not representable in the current locale, will warn
and not work.
* glib/gdate.c: Use UTF-8 normalization and casefolding.
Sat Jun 30 16:03:16 2001 Owen Taylor <otaylor@redhat.com>
* glib/giowin32.c glib/giounix.c glib/gmain.[ch]:
Rename GSourceFuncs::destroy to GSourceFuncs::finalize.
(#56858)
Sat Jun 30 15:49:10 2001 Owen Taylor <otaylor@redhat.com>
* glib/gmain.[ch]: (Mostly patch from Sebastian Wilhemi)
Make some changes to the way that GMainContext works:
- a GMainContext is no longer associated with a single
thread, but any thread can acquire ownership
of thread and iterate.
- There is a facility g_main_context_wait() for
non-owner-threads to wait either for ownership
or for a condition to be broadcast.
- For efficiency, GMainLoop just piggybacks of
of the loops mutex / condition instead of
having a separate mutex/condition for each
GMainLoop.
* glib/gthread.[ch]: Remove hacks to store the thread's
GMainContext in the GThread structures, since we
no longer have the GMainContext <=> GThread correspondence.
* glib/gmain.[ch]: Make g_main_context_wakeup() public
so someone could completely duplicate GMainLoop
with the public API.
* tests/mainloop-test: Fix up to the new API. Decidedly
doesn't work at the moment, but that may be the IO
channel changes, or preexisting locking problems.
Sat Jun 30 13:18:28 2001 Owen Taylor <otaylor@redhat.com>
* glib/gstrfuncs.c glib/gstring.h: Try compiling
before committing, why don't you? Simple fixes
for my stupid typos.
Sat Jun 30 12:49:26 2001 Owen Taylor <otaylor@redhat.com>
Patch from Darin Adler (#54166)
* glib/gstrfuncs.[ch]: Add ascii-only, locale-insensitive
g_ascii_to[lower/upper], g_ascii_str[down/up],
g_ascii_is[upper/lower] and deprecate the locale-affected
versions which break for UTF-8, etc. Make
g_ascii_strup/strdown duplicating,
not in-place for consistency with UTF-8 functions.
* glib/gstring.[ch]: Add ascii-only, locale-insensitive
g_string_ascii_[down/up], and deprecate the locale-affected
versions which break for UTF-8, etc.
* glib/gutils.c glib/gwin32.c test/testglib.c: Use
the g_ascii_* functions where appropriate.
* glib/gstring.[ch] (g_string_set_size): Add function to
allow setting the length of a string greater than the
current length (for buffering usage)
* glib/gstring.[ch]: Expose string->allocated_len, since
that is useful when using GString simply as a buffer.
(Renamed from string->alloc)
* glib/giochannel.[ch] glib/giounix.c glib/giowin32.c:
Major patch from Hidetoshi Tajima and Ron Steinke
reworking GIOChannel to have:
- Buffering
- Sane and useful error reporting
- Streaming encoding conversion with iconv
- Convenience functions to read by lines or
an entire file.
Also fix remaining 64 bit cleanliness issues.
* tests/iochannel-test.c tests/Makefile.am: Test case
for IO channel streaming conversion. Still needs
some fixing up.
Thu Jun 28 16:57:44 2001 Tim Janik <timj@gtk.org>
* configure.in (GLIB_MICRO_VERSION): up version number to 1.3.7,
interface age 0, binary age 0.
Thu Jun 28 16:42:49 2001 Tim Janik <timj@gtk.org>
* gsignal.c (g_signal_lookup):
(g_signal_list_ids): give elaborate warnings about invalid types,
non-instantiatable types and unloaded types that we can't operate on.
* gparam.[hc]: g_param_spec_pool_belongings() ->
g_param_spec_pool_list_owned().
* gsignal.[hc]: renamed:
g_signal_newc -> g_signal_new
g_signal_disconnect_by_func -> g_signal_handlers_disconnect_by_func
g_signal_block_by_func -> g_signal_handlers_block_by_func
g_signal_unblock_by_func -> g_signal_handlers_unblock_by_func
added GConnectType to simplify (..gboolean swapped, gboolean after)
args.
* gobject.[hc]: changed prototypes accordingly.
2001-06-27 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* Makefile.am, configure.in: Removed glib-config-2.0, as we have
pkg-config now.
* glib/Makefile.am: Added -I$(top_srcdir) for builddir != srcdir.
* Makefile.am: Removed gen-unicode-tables.pl from EXTRA_DIST.
Tue Jun 26 11:43:46 2001 Owen Taylor <otaylor@redhat.com>
* configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
Move glib library into a subdirectory, make all GLib include
files include as <glib/glist.h>
* tests/testglib.c tests/testgdate.c tests/testgdateparser.c
tests/timeloop.c tests/timeloop-basic.c: Move all tests into
the tests/ subdirectory.
Wed Jun 20 12:00:54 2001 Owen Taylor <otaylor@redhat.com>
Changes for 64-bit cleanliness, loosely based on patch
from Mark Murnane.
* gconvert.c (g_convert/g_convert_with_fallback): Remove
workarounds for since-fixed GNU libc bugs. Minor
doc fix.
* gconvert.[ch]: Change gint to gsize/gssize as
appropriate.
* gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect
computation of bytes_read / bytes_written.
* gfileutils.[ch] (g_file_get_contents): Make length
out parameter 'gsize *len'.
* ghook.c (g_hook_compare_ids): Don't compare a
and b as 'a - b'.
* gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE,
GSIZE_TO_POINTER.
* gmain.c (g_timeout_prepare): Rewrite to avoid
overflows. (Fixes bug when system clock skews
backwards more than 24 days.)
* gmarkup.[ch]: Make lengths passed to callbacks
gsize, length for g_markup_parse-context_parse(),
g_markup_escape_text() gssize.
* gmessages.[ch] (g_printf_string_upper_bound): Change
return value to gsize.
* gmessages.c (printf_string_upper_bound): Remove
a ridiculous use of 'inline' on a 300 line function.
* gstring.[ch]: Represent size of string as a gsize,
not gint. Make parameters to functions take gsize,
or gssize where -1 is allowed.
* gstring.c (g_string_erase): Make
g_string_erase (string, pos, -1) a synonym for
g_string_truncate for consistency with other G*
APIs.
* gstrfuncs.[ch]: Make all functions taking a string
length, take a gsize, or gssize if -1 is allowed.
(g_strstr_len, g_strrstr_len). Also fix some boundary
conditions in g_str[r]str[_len].
* gutf8.c tests/unicode-encoding.c: Make parameters that
are byte lengths gsize, gssize as appropriate. Make
character offsets, other counts, glong.
* gasyncqueue.c gcompletion.c
timeloop.c timeloop-basic.c gutils.c gspawn.c.
Small 64 bit cleanliness fixups.
* glist.c (g_list_sort2, g_list_sort_real): Fix functions
that should have been static.
* gdate.c (g_date_fill_parse_tokens): Fix extra
declaration that was shadowing another.
* tests/module-test.c: Include string.h
Mon Jun 18 15:43:29 2001 Owen Taylor <otaylor@redhat.com>
* gutf8.c (g_get_charset): Make argument
G_CONST_RETURN char **.
Thu Jun 14 14:09:46 2001 Owen Taylor <otaylor@redhat.com>
* gstrfuncs.c (g_strconcat): Fix a use of strcat that
wasn't replaced with g_stpcpy in the original
stpcpy-for-efficiency patch.
2001-06-11 Havoc Pennington <hp@redhat.com>
* NEWS: updated
* configure.in (GLIB_MICRO_VERSION): increment version to 1.3.6
2001-06-12 Havoc Pennington <hp@redhat.com>
* Makefile.am (glib-mkenums): don't put $(srcdir)/glib-mkenums in
bin_SCRIPTS, that breaks make install. Instead put 'glib-mkenums'
in bin_SCRIPTS and cp it into builddir
2001-06-08 Alex Larsson <alexl@redhat.com>
* gstrfuncs.[ch]:
Added new functions g_strstr_len, g_strrstr and g_strrstr_len
* tests/strfunc-test.c:
Add some tests for the new functions.
* gunicode.h:
* gutf8.c:
Add length argument to g_utf8_strchr and g_utf8_strrchr.
2001-06-08 Havoc Pennington <hp@redhat.com>
* gspawn.c: support G_SPAWN_FILE_AND_ARGV_ZERO specifying that
the vector passed in to g_spawn_* contains a filename to
execute in argv[0] then the actual argv begins at argv + 1.
Kind of a lame hack, but this isn't something you commonly want
to do, and avoids adding more function arguments.
2001-06-07 Havoc Pennington <hp@redhat.com>
* m4macros/glib-2.0.m4: subst GLIB_GENMARSHAL, GOBJECT_QUERY,
GLIB_MKENUMS variables
* gmodule-2.0.pc.in: add gmodule_supported variable
* glib-2.0.pc.in: add glib_genmarshal, gobject_query,
glib_mkenums variables
* configure.in: put G_MODULE_SUPPORTED value into
.pc files
* autogen.sh: support AUTOGEN_SUBDIR_MODE
* Makefile.am: add -uninstalled.pc.in to EXTRA_DIST
2001-06-07 Havoc Pennington <hp@redhat.com>
* pango/Makefile.am: add libpango.la to _DEPENDENCIES for the
other libs
* configure.in: use AM_PATH_GLIB_2_0
* autogen.sh: support AUTOGEN_SUBDIR_MODE
* Makefile.am: dist the .pc.in files
2001-06-07 Havoc Pennington <hp@redhat.com>
* atk/Makefile.am: use @GLIB_GENMARSHAL@ so we can use uninstalled
glib-genmarshal
* configure.in: rearrange the library checks to support
uninstalled linking
* autogen.sh: add support for AUTOGEN_SUBDIR_MODE
* atk-uninstalled.pc.in: new file, allows linking to uninstalled
ATK in giant GTK tarball
2001-06-07 Havoc Pennington <hp@redhat.com>
* tests/Makefile.am: add missing -I flag
* gtk/Makefile.am: use @GLIB_MKENUMS@, @GLIB_GENMARSHAL@, etc.
* configure.in: use pkg-config to see if GModule is
supported; fix to properly turn on included loaders
when GModule isn't supported; don't use AC_CHECK_LIB
when libs are not installed yet
* autogen.sh: add support for AUTOGEN_SUBDIR_MODE
* Makefile.am (SUBDIRS): add m4macros subdir
* gtk/Makefile.am: $(srcdir)/foo targets must be $(srcdir)/foo in
dependencies also.
2001-06-07 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Look for nanosleep function.
* gtimer.c: Use nanosleep for g_usleep, when found.
* gtimer.c, gtimer.h: Add g_time_val_add function. Closes#54271.
* gasyncqueue.c: Documentation updates.
* gthreadpool.c: Use g_time_val_add now that we have it.
* glib/glib-sections.txt, glib/tmpl/date.sgml: Add g_time_val_add.
* glib/tmpl/threads.sgml: Updated.
2001-06-01 Jon Trowbridge <trow@gnu.org>
* gdate.c (g_date_update_julian): Changed to take a const
argument, and then to cast out const.
(g_date_update_dmy): Changed to take a const argument, and then
cast out const.
(g_date_get_weekday): Changed argument to be const.
(g_date_get_month): Changed argument to be const.
(g_date_get_year): Changed argument to be const.
(g_date_get_day): Changed argument to be const.
(g_date_get_julian): Changed argument to be const.
(g_date_get_day_of_year): Changed argument to be const.
(g_date_get_monday_week_of_year): Changed argument to be const.
(g_date_get_sunday_week_of_year): Changed argument to be const.
(g_date_compare): Changed arguments to be const.
(g_date_to_struct_tm): Changed GDate argument to be const.
(g_date_strftime): Changed GDate argument to be const.
(g_date_clamp): Added. The equivalent of the CLAMP macro for
GDates.
(g_date_order): Added. Ensure that the first GDate argument
preceeds the second, swapping them if necessary.
(g_date_days_between): Added. Computes the (signed) number of days
between two dates.
Mon Jun 4 16:02:57 2001 Owen Taylor <otaylor@redhat.com>
* gstrfuncs.c (g_strup/strdown): to match g_strcasecmp,
check if it is lower/upper before converting to upper/lower
[ not required by ISO... ] (#55682, Jon Trowbridge)
Mon Jun 4 15:59:15 2001 Owen Taylor <otaylor@redhat.com>
* gunicode.h: Make a bit more standalone by adding include
of gerror.h. #54543.
* gunicode.h: Change size_t to g_size. (Ugh)
2001-05-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* grand.h (g_random_boolean, g_rand_boolean): Fix to stupid bug in
g_random_boolean, also both functions now return 1 or 0 instead of
1<<15 or 0.
2001-05-31 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Remove G_HAVE_ISO_CXX_VARARGS and
G_HAVE_ISO_C_VARARGS and define G_HAVE_ISO_VARARGS directly
guarded by #if(n)def __cplusplus.
2001-05-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* tests/Makefile.am, tests/qsort-test.c: Add test case for the
g_qsort_with_data func. It works. This fixes bug #52605.
2001-05-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* tests/Makefile.am, tests/cxx-test.C: Now that we check for a C++
compiler in configure.in anyway, I added a test, that the GLib
headers can be inclued into a C++ program. This fixes bug #52605.
2001-05-29 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Don't bail out, if no C++ compiler is
found. Define G_HAVE_ISO_VARARGS only if appropriate.
* gmessages.h: Thus we can revert the previous patch.
2001-05-29 James Henstridge <james@daa.com.au>
* gmessages.h: "#ifdef G_HAVE_ISO_VARARGS" will always succeed
even when we don't have ISO vararg support. Changed to
"#if G_HAVE_ISO_VARARGS".
2001-05-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Fix typo.
* gobject/Makefile.am (EXTRA_DIST): Really distribute
glib-mkenums, now that bin_SCRIPTS doesn't seem to care about
doing so anymore.
Sun May 27 05:09:18 2001 Tim Janik <timj@gtk.org>
* gmain.c (g_main_context_prepare): unlock context when bailing
out with a warning.
(g_main_context_check): same here.
* gmain.c (g_main_context_check): before returning due to
changed pollfds, unlock context.
Sun May 27 04:52:28 2001 Tim Janik <timj@gtk.org>
* gsignal.[hc] (g_signal_stop_emission_by_name): added variant
to stop signal emissions through a detailed_signal string.
* gsignal.c (signal_emit_R) (g_signal_emit_valist): account for
the fact that g_value_* functions may cause signal emissons by
unlocking the global signal system lock around g_value_* functions.
(signal_emit_unlocked_R): renamed this from signal_emit_R() to reflect
that this functions acquires the lock on its own now.
Thu May 24 21:24:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
* gmarkup.c: back out change by mitch@convergence.de and apply patch in
bug id #52067 that fixes the same problem in a more complete manner.
This fixes also a segfault for a malformed XML file and adds a new
test case.
2001-05-24 Hans Breuer <hans@breuer.org>
* grel.c : reflect renaming of g_string_sprintfa to g_string_printfa
* makefile.msc.in : create an additional static lib to be used from
(at least) glib-genmarshal
2001-05-23 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* garray.c (g_array_remove_index_fast): Tiny speed improvement
suggested by noon@users.sourceforge.net.
* glib/tmpl/arrays.sgml, glib/tmpl/arrays_pointers.sgml,
glib/tmpl/arrays_byte.sgml: Corrected documentation for the
..._sized_new functions. Discovered by noon@users.sourceforge.net.
2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* config.h.win32.in: Removed POSIX_*. Defined G_THREAD_SOURCE to
"gthread-win32.c".
* glibconfig.h.win32.in: Define G_HAVE_ISO_VARARGS for gcc, don't
know about MSC. Define G_THREADS_IMPL_WIN32 instead of
G_THREADS_IMPL_POSIX and define the right static mutex macros and
types.
* build/win32/make.mingw (CXX): Removed PTHREAD defs. Added
-O2 -Wall to compile flags.
* gthread/gthread-impl.c (g_thread_init): Move the thread
implementation initialization to before assigning
GThreadFuncs, which now is just struct assigned and not
memcpy'ed. Completed check for zero members of GThreadFuncs.
* gthread/makefile.mingw: Don't link to pthread anymore.
* gthread/gthread-win32.c: New file for native thread support for
win32. Thanks to Hans Breuer <hans@breuer.org> to got me
kickstarted.
* gthread/Makefile.am: Also distribute gthread-win32.c.
2001-05-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib.def: g_thread_create renamed to g_thread_create_full.
* gthread.c: memcpy is not necessary here. We can simply use
struct assignment.
* gmessages.c: Fix compilation error on win32. Added
GFileDescriptor, wich is gint on Unix and FILE* on win32.
Fri May 18 10:52:23 2001 Owen Taylor <otaylor@redhat.com>
* configure.in gmessages.h: Use compile checks for ISO C99 and GNU
extension varargs macros syntax and store result in glibconfig.h
(G_HAVE_ISO_VARARGS, G_HAVE_GNUC_VARARGS) rather than relying
on checking predefined macros.
2001-05-18 Michael Natterer <mitch@convergence.de>
* gmarkup.c: don't g_strdup()/g_free() all parsed attributes and
their values twice but simply copy the string pointers from the
GMarkupAttribute struct to the string arrays before passing them
to start_element().
2001-05-18 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Renamed g_thread_create to
g_thread_create_full and added macro g_thread_create, which omits
'stack_size', 'bound' and 'priority' parameters. Also removed
'bound' from GThread struct.
* gthreadpool.h, gthreadpool.c: Adapted GThreadPool to the above
changes. GThreadPool lost the 'priority' and 'bound'
members. g_thread_pool_new the 'stack_size', 'bound' and
'priority' parameters.
* tests/mainloop-test.c, tests/thread-test.c,
tests/threadpool-test.c: Adapted to the above changes.
2001-05-15 Havoc Pennington <hp@redhat.com>
* configure.in (AC_OUTPUT): m4macros/Makefile
* m4macros/Makefile.am, m4macros/glib-2.0.m4,
m4macros/glib-gettext.m4:
m4 files moved here on server, Makefile.am added
This is so you can aclocal -I m4macros while avoiding acinclude.m4
* Makefile.am: add m4macros subdir, remove references to glib-2.0.m4
2001-05-14 Havoc Pennington <hp@redhat.com>
* gutf8.c (g_utf8_get_char): fix docs; they said we validated
the UTF-8, but we can't possibly detect partial chars since
there's no length arg here, so trying to use this function
on invalid UTF-8 is a bad idea.
Thu May 10 23:21:30 2001 Owen Taylor <otaylor@redhat.com>
* gmessages.c (g_log_write_prefix): Avoid using stderr
to be as robust as possible in out-of-memory.
* gmessages.c (g_log_default_handler): Remove some dead
code.
* gutils.c (g_parse_debug_string): Fix to avoid mallocs.
Fri May 11 18:25:23 2001 Tim Janik <timj@gtk.org>
* gdataset.c:
(g_dataset_foreach):
(g_datalist_foreach): make these safe against removal of the
current element.
Thu May 10 15:19:01 2001 Tim Janik <timj@gtk.org>
* gscanner.c (g_scanner_key_hash): use g_str_hash() algorithm
to generate hashes.
* gmem.c (standard_calloc): free() doesn't return a value
(Mark Murnane).
Thu May 10 14:00:48 2001 Tim Janik <timj@gtk.org>
* gparamspecs.[hc]: removed g_param_spec_stringc() in lack of
evidence of public need.
* gsignal.h: added g_signal_disconnect_by_func(),
g_signal_block_by_func() and g_signal_unblock_by_func() convenience
macros as per owen's request.
* gtype.c (SIZEOF_FUNDAMENTAL_INFO): align sizeof (GTypeFundamentalInfo)
to size of longs and pointers.
2001-04-26 Havoc Pennington <hp@redhat.com>
* configure.in: Get rid of --enable-msg-prefix
* gmessages.c: make whether to prefix the messages with
appname/pid a runtime setting, not a compile-time setting. Change
default to include prefix for debug/warning/error type messages.
2001-05-09 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthread.c, gthread.h: Renamed 'value' and 'arg' to 'data' and
'thread_func' to 'func' to make it more consistent with the rest
of GLib.
* gthreadpool.c, gthreadpool.h: Moved 'stack_size' from the public
members of GThreadPool to the private ones. Renamed 'thread_func'
to 'func' as above. Moved up 'user_data' in g_thead_pool_new
argument list and in GThreadPool struct.
2001-05-08 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gmain.c, gthread.c, gthread.h: Moved func and arg members from
GRealThread to GThread, such that they can be accessed by the
user.
* gthread.c, gthread.h: Due to popular demand (Tim being the
populus here ;-) threads now have a 'return value', which is
returned by g_thread_join and is either the return of the topmost
thread function or the value given to g_thread_exit.
* gthreadpool.c, tests/mainloop-test.c, tests/thread-test.c:
Adapted to the above change.
2001-01-06 Hans Breuer <hans@breuer.org>
* glib.def : don't try to export g_strcpy, it is g_stpcpy;
updated and added some tweaking for functions which got
renamed recently, to avoid the update hassle if it can
simply be done compatible. Should vanish if there is a
stable version for win32.
Fri May 4 11:49:18 2001 Owen Taylor <otaylor@redhat.com>
* Released 1.3.5
* NEWS: Updated
* configure.in (GLIB_MICRO_VERSION): Up version to 1.3.5,
interface/binary age 0.
2001-05-04 Sven Neumann <sven@convergence.de>
* ghash.c: fixed a typo in a comment.
* gtree.[ch]: added new functions g_tree_new_full(), g_tree_replace(),
g_tree_steal() and g_tree_foreach() to adapt GTree to the GHashTable
API. Moved comments into the C file.
* docs/reference/glib/glib-sections.txt
* docs/reference/glib/tmpl/glib-unused.sgml
* docs/reference/glib/tmpl/hash_tables.sgml
* docs/reference/glib/tmpl/linked_lists_double.sgml
* docs/reference/glib/tmpl/linked_lists_single.sgml
* docs/reference/glib/tmpl/macros_misc.sgml
* docs/reference/glib/tmpl/trees-binary.sgml: updated documentation
Thu May 3 06:38:28 2001 Owen Taylor <otaylor@redhat.com>
* g[s]list.c (g_[s]list_foreach) docs/Changes-2.0.txt: Make
foreach() safe against removal of the _current_ element. While
this could break some code, the new behavior is consistent with
the rest of GLib/GTK+ and probably is what people expect in most
cases. (Suggested by Paul Kuykendall, #50071)
Wed May 2 11:10:22 2001 Owen Taylor <otaylor@redhat.com>
* gutf8.c (g_utf8_to_ucs4_fast): Fix read past end of the string.
(#50404, fix from Jonas Borgström)
Sun Apr 29 00:37:34 2001 Tim Janik <timj@gtk.org>
* ghook.[hc]: made hook ids a gulong.
Sat Apr 28 23:39:42 2001 Tim Janik <timj@gtk.org>
* gsignal.[hc]: made signal handler and emission hook ids gulongs.
(signal_handlers_foreach_matched_R): only invoke callback for handlers
that are not disconnected (id>0).
(signal_emit_R): prevent invocation of signal handlers during the
emission they were connected within.
* glib-mkenums: publically installed perl-script to parse C code
enums and generate descriptions thereof.
* glib-mkenums.1: assorted man page.
* configure.in: Add a check for the Darwin dynamic linker. Use
AC_TRY_LINK when checking for "nonposix getpwuid_r" so it notices
"no getpwuid_r" correctly.
* testglib.c (main): Make template[] bigger to prevent an overrun.
Remove an unused variable. Initialize error to NULL.
* tests/gio-test.c (main): Add a cast to prevent a warning when
size_t is a long.
* tests/type-test.c (main): Add an #ifdef to prevent a warning
when G_HAVE_GINT64 is defined and G_GINT64_FORMAT isn't.
2001-04-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* ghash.c, ghash.h: Remove definition of g_hash_table_freeze and
g_hash_table_thaw. Instead added G_DISABLE_DEPRECATED-guarded
macros to ghash.h to go along the lines of the standard.
* gscanner.c, gscanner.h: Dito for g_scanner_freeze_symbol_table
and g_scanner_thaw_symbol_table.
* gutils.c, gutils.h: Dito for g_dirname. g_basename is still
defined in gutils.c, but declared ing gutils.h only
G_DISABLE_DEPRECATED-guarded.
2001-04-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Removed bashism in test for the pkg-config
version.
* configure.in: Rewrote test for multithread flag. Now uses
localtime_r, which hopefully has a consistent prototype across
different platforms. Also it uses a clever double EGREP trick
instead of compiling, which could give false positives. Thanks to
Dan Winship <danw@ximian.com> for the hint.
Wed Apr 18 09:37:07 2001 Owen Taylor <otaylor@redhat.com>
* MAINTAINERS: Removed. Keeping README, README.cvs-commits
HACKING, and AUTHORS up to date is plenty without extra
random files that someone thought a module should have.
(Actually, I believe this was used for debbugs in the past.)
Tue Apr 17 10:43:36 2001 Owen Taylor <otaylor@redhat.com>
* gstrfuncs.c: Define _GNU_SOURCE for stpcpy
* tests/mainloop-test.c (main): Wait for all threads
to start before beginning tests.
2001-04-17 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gthreadpool.c (g_thread_pool_thread_proxy): Until now every
thread pool always had at least one tread waiting to avoid
switching overhead in case a new task would be added soon after
one finished. This however means a big waste of threads, if many
mostly inactive thread pools are involved. Now such a waiting
thread will only wait for half a second (This value is of course
very randomly picked) and go to the global threadpool afterwards.
MCVS: ----------------------------------------------------------------------
Mon Apr 16 12:04:52 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: Remove warnings about conflicts with the
stable version.
* glib-2.0.m4: Fix some of the error text to be halfway
up to date.
* README.in INSTALL.in: Add these to generate README, INSTAL
(as in the stable branch). Update.
* HACKING: Update.
2001-04-11 Alexander Larsson <alexl@redhat.com>
* glib-2.0.m4: Pass pkg-config options
before the other args so it works even if
POSIXLY_CORRECT is set.
Mon Apr 9 18:57:44 2001 Tim Janik <timj@gtk.org>
* configure.in: increment version to 1.3.4 (binary 0, interface 0).
Mon Apr 9 18:56:15 2001 Tim Janik <timj@gtk.org>
* gclosure.c (g_closure_invoke): only require marshal/meta_marshal if
we're valid (about to actually do marshalling).