Commit Graph

832 Commits

Author SHA1 Message Date
Owen Taylor
f5c28ce4ab Changes for 64-bit cleanliness, loosely based on patch from Mark Murnane.
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 **.
2001-06-23 13:55:09 +00:00
Andy Lanoix
a7bd3d0d5e *giowin32.c: Debug and partial rewrite of async socket code
on windows, which fixes major MT issues. Some test code kindly
provided by wroberts1@home.com.
2001-06-22 15:44:44 +00:00
Owen Taylor
efc2ec72b5 Fix a use of strcat that wasn't replaced with g_stpcpy in the original
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-15 18:28:06 +00:00
Havoc Pennington
7ab9d6380d updated
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-12 20:05:43 +00:00
Alex Larsson
106fb627f1 Added new functions g_strstr_len, g_strrstr and g_strrstr_len
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 23:14:03 +00:00
Havoc Pennington
6858b5342f support G_SPAWN_FILE_AND_ARGV_ZERO specifying that the vector passed in to
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-08 19:41:51 +00:00
Pablo Saratxaga
78273842cc Added Azeri file 2001-06-08 12:48:45 +00:00
Sebastian Wilhelmi
64fca344e3 Remove docs/glib-config.1.in.
2001-06-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* docs/Makefile.am, configure.in: Remove docs/glib-config.1.in.
2001-06-08 12:19:59 +00:00
Sebastian Wilhelmi
fe3f5228bf Add @G_THREAD_CFLAGS@.
2001-06-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-2.0-uninstalled.pc.in (Cflags): Add @G_THREAD_CFLAGS@.
2001-06-08 11:53:48 +00:00
Havoc Pennington
fab889b14d subst GLIB_GENMARSHAL, GOBJECT_QUERY, GLIB_MKENUMS variables
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 16:39:54 +00:00
Sebastian Wilhelmi
632943f359 Look for nanosleep function.
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-07 13:46:14 +00:00
Jon Trowbridge
4d2b54ff8b Changed to take a const argument, and then to cast out const.
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.
2001-06-05 20:59:02 +00:00
Owen Taylor
96ba1917d8 to match g_strcasecmp, check if it is lower/upper before converting to
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)
2001-06-04 20:06:14 +00:00
Owen Taylor
2d5776656d Make a bit more standalone by adding include of gerror.h. #54543.
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-06-04 20:00:26 +00:00
Sebastian Wilhelmi
08e47ea9f4 Fix to stupid bug in g_random_boolean, also both functions now return 1 or
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 08:12:35 +00:00
Sebastian Wilhelmi
47412cbbc9 Remove G_HAVE_ISO_CXX_VARARGS and G_HAVE_ISO_C_VARARGS and define
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-31 08:10:17 +00:00
Sebastian Wilhelmi
697b9ec86e Add @G_THREAD_CFLAGS@ to Cflags.
2001-05-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-2.0.pc.in: Add @G_THREAD_CFLAGS@ to Cflags.
2001-05-30 11:12:12 +00:00
Owen Taylor
20c76af3ae Fix GNU sedism (#55430)
Tue May 29 18:17:11 2001  Owen Taylor  <otaylor@redhat.com>

	* autogen.sh (have_libtool): Fix GNU sedism (#55430)
2001-05-29 22:19:46 +00:00
Sebastian Wilhelmi
b8ece629f1 Add test case for the g_qsort_with_data func. It works. This fixes bug
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 14:55:39 +00:00
Sebastian Wilhelmi
68e002beed Now that we check for a C++ compiler in configure.in anyway, I added a
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 14:17:23 +00:00
Sebastian Wilhelmi
5ff90aee0d Don't bail out, if no C++ compiler is found. Define G_HAVE_ISO_VARARGS
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 13:47:05 +00:00
James Henstridge
1c619608ef "#ifdef G_HAVE_ISO_VARARGS" will always succeed even when we don't have
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-29 11:12:42 +00:00
Owen Taylor
1b1bbd0ddc Check for __VARARGS__ separately for C and C++.
Mon May 28 11:40:34 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Check for __VARARGS__ separately for C and C++.
2001-05-28 15:41:24 +00:00
Sebastian Wilhelmi
4d8aba8947 Fix typo.
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.
2001-05-28 11:16:33 +00:00
Tim Janik
e28e398eb0 unlock context when bailing out with a warning. (g_main_context_check):
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.
2001-05-27 18:28:58 +00:00
CEST 2001 Paolo Molaro
477106292a back out change by mitch@convergence.de and apply patch in bug id #52067
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 19:30:40 +00:00
Hans Breuer
cd759bbd6e reflect renaming of g_string_sprintfa to g_string_printfa
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-24 16:38:24 +00:00
Sebastian Wilhelmi
ef49296716 Tiny speed improvement suggested by noon@users.sourceforge.net.
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-23 10:20:56 +00:00
Sebastian Wilhelmi
d6ed8e36e7 Removed POSIX_*. Defined G_THREAD_SOURCE to "gthread-win32.c".
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 12:28:06 +00:00
Sebastian Wilhelmi
e2b7bedbde g_thread_create renamed to g_thread_create_full.
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.
2001-05-22 12:06:59 +00:00
Andy Lanoix
6e14aa4673 no message 2001-05-22 01:11:28 +00:00
Owen Taylor
686e9b4645 Fix some problems in writing out varargs tests in configure.in
Sun May 20 10:47:47 2001  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Fix some problems in writing out varargs
	tests in configure.in
2001-05-20 14:49:44 +00:00
Owen Taylor
5df92b7423 Use compile checks for ISO C99 and GNU extension varargs macros syntax and
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 16:00:54 +00:00
Michael Natterer
05f143a808 don't g_strdup()/g_free() all parsed attributes and their values twice but
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 12:38:32 +00:00
Sebastian Wilhelmi
227d18bc46 Renamed g_thread_create to g_thread_create_full and added macro
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-18 08:44:57 +00:00
Sebastian Wilhelmi
a70206f177 Fixed mutex deadlock.
2001-05-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gmem.c (g_mem_profile): Fixed mutex deadlock.
2001-05-18 08:36:44 +00:00
Sebastian Wilhelmi
446b37a4d9 Add gpattern.o to objects.
2001-05-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* makefile.mingw.in: Add gpattern.o to objects.

	* glib.def: Export g_thread_exit as well.

	* Makefile.am: Fix BUILT_EXTRA_DIST exporting.
2001-05-17 15:15:00 +00:00
Owen Taylor
33888fc0c8 Add inter-library dependencies.
Sun May 13 10:31:17 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/Makefile.am gobject/Makefile.am gmodule/Makefile.am:
	Add inter-library dependencies.

	* acinclude.m4: Remove libtool macros.

	* autogen.sh: Require libtool-1.4, automake-1.4p1.
2001-05-16 18:35:39 +00:00
Havoc Pennington
348c8f102f m4macros/Makefile
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-15 22:07:21 +00:00
Havoc Pennington
ebec3d7ce7 fix docs; they said we validated the UTF-8, but we can't possibly detect
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.
2001-05-15 19:18:08 +00:00
Owen Taylor
ac0bbb7605 Avoid using stderr to be as robust as possible in out-of-memory.
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.
2001-05-14 14:53:59 +00:00
Tim Janik
d5033d53bd make these safe against removal of the current element.
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.
2001-05-11 18:05:16 +00:00
Havoc Pennington
43d6ef7f16 change env variable to G_MESSAGES_PREFIXED, suggested by Tim
2001-05-10  Havoc Pennington  <hp@pobox.com>

	* gmessages.c (g_log_write_prefix): change env variable to
	G_MESSAGES_PREFIXED, suggested by Tim
2001-05-11 03:07:53 +00:00
Tim Janik
a5947b9df8 use g_str_hash() algorithm to generate hashes.
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-05-10 13:58:40 +00:00
Havoc Pennington
ea05dba9b6 Get rid of --enable-msg-prefix
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 16:36:17 +00:00
Sebastian Wilhelmi
a8c9dadde2 Renamed 'value' and 'arg' to 'data' and 'thread_func' to 'func' to make it
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-09 12:51:21 +00:00
Tim Janik
cac4f011c0 removed #include <unistd.h> sneaked in by sopwith in november.
Tue May  8 15:33:31 2001  Tim Janik  <timj@gtk.org>

        * gcompletion.h: removed #include <unistd.h> sneaked in by
        sopwith in november.
2001-05-08 13:50:38 +00:00
Sebastian Wilhelmi
66863bcd97 Updated.
2001-05-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/tmpl/threads.sgml, glib/glib-overrides.txt: Updated.
2001-05-08 08:25:43 +00:00
Sebastian Wilhelmi
cd00d6e2cc Moved func and arg members from GRealThread to GThread, such that they can
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-05-08 08:23:18 +00:00
Hans Breuer
6cc6a59d38 don't try to export g_strcpy, it is g_stpcpy; updated and added some
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.
2001-05-06 13:57:21 +00:00
Owen Taylor
77ec0f5826 Released 1.3.5
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 22:34:43 +00:00
Sven Neumann
d18b364dd7 fixed a typo in a comment.
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
2001-05-04 17:01:56 +00:00
Owen Taylor
0402b625ee Make foreach() safe against removal of the _current_ element. While this
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)
2001-05-03 10:47:32 +00:00
Owen Taylor
d4e0ae748a Fix read past end of the string. (#50404, fix from Jonas Borgström)
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)
2001-05-02 15:19:55 +00:00
Tim Janik
abc5cbbe3e made hook ids a gulong.
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.
2001-04-29 03:04:27 +00:00
Dan Winship
655d467602 Add a check for the Darwin dynamic linker. Use AC_TRY_LINK when checking
* 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-20 17:08:57 +00:00
Sebastian Wilhelmi
d52e5cd5cf Remove definition of g_hash_table_freeze and g_hash_table_thaw. Instead
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 13:33:31 +00:00
Sebastian Wilhelmi
4f5ea7fce3 Removed bashism in test for the pkg-config version.
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.
2001-04-19 08:26:21 +00:00
Owen Taylor
c8c685d305 Add missing static pointed out by Michael Meeks.
Wed Apr 18 17:35:38 2001  Owen Taylor  <otaylor@redhat.com>

	* gutils.c (_glib_gettext): Add missing static pointed
	out by Michael Meeks.
2001-04-18 21:37:25 +00:00
Owen Taylor
9088d6460b Removed. Keeping README, README.cvs-commits HACKING, and AUTHORS up to
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.)
2001-04-18 13:41:45 +00:00
Owen Taylor
f7d8a22e58 Released 1.3.4
Tue Apr 17 11:47:07 2001  Owen Taylor  <otaylor@redhat.com>

	* Released 1.3.4

	* NEWS: Updated
2001-04-17 22:39:00 +00:00
Owen Taylor
c530e1e1dd Define _GNU_SOURCE for stpcpy
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 14:48:11 +00:00
Sebastian Wilhelmi
313ed5dc19 Until now every thread pool always had at least one tread waiting to avoid
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: ----------------------------------------------------------------------
2001-04-17 11:48:45 +00:00
Owen Taylor
525689823d Remove warnings about conflicts with the stable version.
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-17 00:55:34 +00:00
Havoc Pennington
4eab875811 docs
2001-04-16  Havoc Pennington  <hp@redhat.com>

        * gqsort.c: docs

        * gfileutils.c: docs

        * gwin32.c: docs fixes

        * gconvert.c: docs

        * guniprop.c: docs

        * gutf8.c: docs
2001-04-16 20:05:25 +00:00
Havoc Pennington
988dd88495 put AC_PATH_PROG(pkg-config) before "Checking for glib" so the output
2001-04-16  Havoc Pennington  <hp@redhat.com>

	* glib-2.0.m4: put AC_PATH_PROG(pkg-config) before "Checking for
	glib" so the output looks right
2001-04-16 15:21:19 +00:00
Havoc Pennington
f2faafacb9 make GDebugKeys argument const
2001-03-23  Havoc Pennington  <hp@redhat.com>

	* gutils.c (g_parse_debug_string): make GDebugKeys argument
	const
2001-04-16 15:04:17 +00:00
Hans Breuer
085254349a updated
2001-04-14  Hans Breuer  <hans@breuer.org>

	* glib.def :
	* makefile.msc.in : updated

	* gpattern.c : include "gutils.h" to resolve the inline hassle
2001-04-13 23:41:53 +00:00
Alexander Larsson
88c035caa5 Pass pkg-config options before the other args so it works even if
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.
2001-04-11 14:58:29 +00:00
Tim Janik
58bfca360d increment version to 1.3.4 (binary 0, interface 0).
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).
2001-04-09 17:03:55 +00:00
Christian Rose
5ccb1c7a45 Added Swedish translation. 2001-04-05 00:51:52 +00:00
Tim Janik
81ace95390 Released GLib-1.3.3.
Wed Apr  4 09:18:55 2001  Tim Janik  <timj@gtk.org>

        * Released GLib-1.3.3.
2001-04-04 07:19:45 +00:00
Tim Janik
a14df7b98a updates.
Tue Apr  3 20:22:59 2001  Tim Janik  <timj@gtk.org>

        * NEWS: updates.

        * NEWS.pre-1-3: take over old news.

Tue Apr  3 20:23:24 2001  Tim Janik  <timj@gtk.org>

        * NEWS: updates.
2001-04-03 19:22:44 +00:00
Owen Taylor
c13277dc75 Exit with an error message that you should use pkg-config instead.
Tue Apr  3 12:38:16 2001  Owen Taylor  <otaylor@redhat.com>

	* glib-config-2.0.in: Exit with an error message that you
	should use pkg-config instead.

	* configure.in (PACKAGE): Require pkg-config.

	* tests/Makefile.am (EXTRA_DIST): Add utf8.txt.

	* configure.in (GLIB_MICRO_VERSION): Up MICRO to 3,
	leave interface/binary at 0.
2001-04-03 18:27:59 +00:00
Tim Janik
bdd9b28b5b added g_list_nth_prev() which walks ->prev instead of ->next.
Tue Apr  3 13:46:22 2001  Tim Janik  <timj@gtk.org>

        * glist.[hc]: added g_list_nth_prev() which walks ->prev instead
        of ->next.

        * gpattern.[hc]: added shell-style pattern matching code from beast,
        derived from the gtk_pattern_*() code, but with a couple of bug fixes
        and a number of optimizations.

Tue Apr  3 14:06:00 2001  Tim Janik  <timj@gtk.org>

        * gparam.[hc]: added g_param_spec_pool_list() to list pspecs per
        owner_type. the pspecs are not referenced, so the caller is
        supposed to have some idea about owner_type not randomly
        nuking his pspec's. if this is going to provide problems in
        the future, we can either auto-ref the pspecs, or add a
        _foreach variant, though the latter would have to invoke
        the callback while pspec's mutex is acquired, so i just
        went for the _list variant for now.

        * gclosure.h (G_CALLBACK): made GCallback a void (*) (void) fucntion.
2001-04-03 13:15:41 +00:00
Sebastian Wilhelmi
d8dd1ac152 Ops, ChangeLog was incomplete.
Ops, ChangeLog was incomplete.
2001-04-03 12:45:23 +00:00
Sebastian Wilhelmi
1b546cf3fb Added documentation.
2001-04-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthreadpool.c: Added documentation.

	* gthreadpool.c: The global thread pool now also is seperated for
	bound and unbound threads. Only threads with standard stack size
	go to the global pool. g_thread_pool_new now protects the global
	setup of inform_mutex etc. with a lock. Fixed some typos. Unlock
	the queue after g_thread_pool_wakeup_and_stop_all in the proxy.
2001-04-03 12:42:54 +00:00
Sebastian Wilhelmi
7b06f826c9 Use the new GRealThread member "context" instead of a GStaticPrivate to
2001-04-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gmain.c: Use the new GRealThread member "context" instead of a
	GStaticPrivate to store the thread specific main loop context.

	* gthread.c: Added "context" member to GRealThread and updated
	g_thread_create, g_thread_self and g_thread_cleanup accordingly.

	* gthread.c, gthread.h: Removed the functions
	g_static_private_(get|set)_for_thread and adapted
	g_static_private_(get|set) and g_static_private_free accordingly.
2001-04-02 16:34:08 +00:00
Sven Neumann
a2b269bae3 ghash.[ch] added new functions g_hash_table_new_full,
2001-03-30  Sven Neumann  <sven@gimp.org>

        * ghash.[ch]
        * docs/reference/glib/tmpl/hash_tables.sgml: added new functions
        g_hash_table_new_full, g_hash_table_replace, g_hash_table_steal and
        g_hash_table_foreach_steal. Moved most docs out of the template
        file into the C file. Please proofread the new documentation.
2001-03-30 18:14:41 +00:00
Tor Lillqvist
5eef94c8b7 Add module-test rules.
2001-03-29  Tor Lillqvist  <tml@iki.fi>

	* tests/makefile.msc.in: Add module-test rules.
2001-03-29 20:05:58 +00:00
Tor Lillqvist
93fce34a18 Updates. Add module-test rules.
2001-03-29  Tor Lillqvist  <tml@iki.fi>

	* glib.def: Updates.
	* tests/makefile.mingw.in: Add module-test rules.

2001-03-29  Tor Lillqvist  <tml@iki.fi>

	* gobject.def: Updates.
2001-03-29 19:52:45 +00:00
Owen Taylor
df2f429cff -DG_DISABLE_DEPRECATED
Mon Mar 26 14:14:53 2001  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (INCLUDES): -DG_DISABLE_DEPRECATED

	* gmain.h timeloop.c: Surround the cruftiest stuff with
	#ifndef G_DISABLE_DEPRECATED.

	* gcompat.h gdate.h: Move compat defines back to
	gdate.h, surround with #ifndef G_DISABLE_DEPRECATED.
	Remove gcompat.h.
2001-03-26 19:23:17 +00:00
Owen Taylor
b8d7add377 *** empty log message *** 2001-03-26 18:35:34 +00:00
Havoc Pennington
767800fcb3 rewrite, based on bug #52328 from Anders
2001-03-20  Havoc Pennington  <hp@redhat.com>

	* gutf8.c (g_utf8_strlen): rewrite, based on bug #52328 from
	Anders
2001-03-20 21:30:40 +00:00
Havoc Pennington
fad8693b76 added this function
2001-03-19  Havoc Pennington  <hp@redhat.com>

	* gutf8.c (g_unichar_validate): added this function
2001-03-20 00:55:44 +00:00
Tor Lillqvist
3bae8165cf Add braces to silence gcc -Wall.
2001-03-18  Tor Lillqvist  <tml@iki.fi>

	* gspawn-win32.c (SETUP_DEBUG): Add braces to silence gcc -Wall.

	* gspawn-win32-helper.c (write_no_error): Remove unused function.

	* tests/makefile.mingw.in (module-test.exe): Add rules for
	building module-test.

2001-03-18  Tor Lillqvist  <tml@iki.fi>

	* gobject.def: Correct some renamed functions.
2001-03-18 19:54:01 +00:00
Tim Janik
45fb71949a removed archaic gpointer derived_data; relict and added a GData member
Wed Mar 14 18:46:54 2001  Tim Janik  <timj@gtk.org>

        * gscanner.[hc]: removed archaic gpointer derived_data; relict and
        added a GData member instead.

        * glist.[hc]: added g_list_remove_all().

        * gslist.[hc]: added g_slist_remove_all().

Sat Mar 17 23:18:36 2001  Tim Janik  <timj@gtk.org>

        * gobject.c (g_object_get_property): minor bug-fix.

        * gbsearcharray.[hc]: provide a macro for static initialization and
        functions g_bsearch_array_new() and g_bsearch_array_destroy() for
        dynamic allocations.

        * gboxed.c: introduce G_TYPE_GSTRING, boxed type for GString.

        * gclosure.[hc]: naming corrections.

Fri Mar  9 16:42:08 2001  Tim Janik  <timj@gtk.org>

        * gvaluetypes.[hc]: moved g_strdup_value_contents() into this file as
        a public function (was static in gobject.c before). it's a bit odd
        to have that function here, especially since it requires extra includes,
        but then it doesn't very well fit somewhere else either.

        * gparamspecs.c: added default/max/min checks to param spec creation
        functions.
2001-03-18 04:44:38 +00:00
Owen Taylor
1d5b01bb52 Reorder headers to make FreeBSD happy.
Sat Mar 17 19:54:51 2001  Owen Taylor  <otaylor@redhat.com>

        * timeloop.c: Reorder headers to make FreeBSD happy.
2001-03-18 00:55:10 +00:00
Tor Lillqvist
f6e325b217 From Edward M. Lee <tailbert@yahoo.com>:
2001-03-13  Tor Lillqvist  <tml@iki.fi>

	From Edward M. Lee  <tailbert@yahoo.com>:

	* gdate.c (g_date_set_parse): add support for dates that in the
	form "Wed Mar 14 2001". Running testgdate on cygwin requires this.

2001-03-13  Tor Lillqvist  <tml@iki.fi>

	From Edward M. Lee  <tailbert@yahoo.com>:

	* gmodule-win32.c (_g_module_build_path): use (cygwin friendly) dir
	separator.
2001-03-14 20:18:03 +00:00
Tim Janik
009942e1ac made config arg to g_scanner_new() const.
Fri Mar  9 18:01:43 2001  Tim Janik  <timj@gtk.org>

        * gscanner.[hc]: made config arg to g_scanner_new() const.

Fri Mar  9 16:42:08 2001  Tim Janik  <timj@gtk.org>

        * gvaluetypes.[hc]: moved g_strdup_value_contents() into this file as
        a public function (was static in gobject.c before). it's a bit odd
        to have that function here, especially since it requires extra includes,
        but then it doesn't very well fit somewhere else either.

        * gparamspecs.c: added default/max/min checks to param spec creation
        functions.
2001-03-14 15:33:45 +00:00
Tor Lillqvist
096ba91bdc Link with the libgmodule la only on Win32.
2001-03-12  Tor Lillqvist  <tml@iki.fi>

	* tests/Makefile.am (libmoduletestplugin_b_la_LIBADD,
	libmoduletestplugin_b_la_LIBADD): Link with the libgmodule la only
	on Win32.

2001-03-12  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (libgplugin_a_la_LIBADD, libgplugin_b_la_LIBADD):
	Link with the libgmodule la only on Win32.
2001-03-12 06:09:05 +00:00
Tor Lillqvist
1f76698bb6 Define G_PLATFORM_WIN32 here, too.
2001-03-10  Tor Lillqvist  <tml@iki.fi>

	* glibconfig.h.win32.in: Define G_PLATFORM_WIN32 here, too.
2001-03-10 21:37:28 +00:00
Tor Lillqvist
8f69a82ccb Use the _LIBADD dependencies on libglib only on Win32.
2001-03-10  Tor Lillqvist  <tml@iki.fi>

	* */Makefile.am: Use the _LIBADD dependencies on libglib only on
	Win32.

	* gobject/gobject.def: Add a couple of missing entries.
2001-03-10 20:03:53 +00:00
Tor Lillqvist
c54732d0ea Update with some information about using configure and libtool.
2001-03-09  Tor Lillqvist  <tml@iki.fi>

	* README.win32: Update with some information about using configure
	and libtool.
2001-03-09 21:55:06 +00:00
Tor Lillqvist
5c00c34972 Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

	Cygwin support contributed by Stefan Ondrejicka
	<ondrej@idata.sk>. Hopefully I got it all in while simultaneously
	adding support for auto*/libtool for mingw.

	* Makefile.am: Changes for auto* support on Cygwin and Win32. Do
	still distribute the hand-written makefiles and *.win32.in files,
	though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
	Use -no-undefined. Pass -export-symbols glib.def to libtool.

	* configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
	and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
	calls for Cygwin and mingw support.  Check for %I64u guint64
	format (in MS C library). Set G_MODULE_IMPL on mingw and
	Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
	and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
	automake conditional on Win32.

	* glib.h: Include gwin32.h also on Cygwin.

	* gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
	Unix) for Cygwin's sake.

	* gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().

	* gconvert.c
	* gthread.c
	* gutf8.c
	* gutils.c: For code needed both on Cygwin and native Win32,
	test for G_PLATFORM_WIN32.

	* gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
	in case compiling a static library on Win32 or Cygwin.

	* gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
	dirent emulation on Cygwin.
	(get_package_directory_from_module) Convert return value from
	GetModuleFileName() to POSIX path on Cygwin.

	* tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
	and libgmodule as appropriate. Use -no-undefined.

	* gbacktrace.c: Move #ifdefs around a bit on Win32.

	* gshell.c (unquote_string_inplace): Make static.
2001-03-09 21:18:33 +00:00
Hans Breuer
106aafaa46 updated
2001-03-09  Hans Breuer  <hans@breuer.org>

	* gobject/gobject.def : updated
2001-03-09 16:46:12 +00:00
Tor Lillqvist
b27a17a4c0 glib.def gobject/gobject.def Update.
2001-03-08  Tor Lillqvist  <tml@iki.fi>

	* glib.def
	* gobject/gobject.def
	* gobject/makefile.mingw.in: Update.
2001-03-08 20:51:46 +00:00
Sven Neumann
e71a64bc86 added new function g_tree_lookup_extended().
2001-03-08  Sven Neumann  <sven@gimp.org>

	* gtree.[ch]:
	* docs/reference/glib/tmpl/trees-binary.sgml: added new function
	g_tree_lookup_extended().
2001-03-08 17:51:39 +00:00
Tim Janik
617332234d destruction cleanup. there's one ->finalize_hook member in the hooklist
Thu Mar  8 16:23:34 2001  Tim Janik  <timj@gtk.org>

        * ghook.[hc]: destruction cleanup. there's one
        ->finalize_hook member in the hooklist now that gets
        called when a hook should be destroyed, that's it.
        that function is guarranteed to be called only when
        all ref_counts to the hook vanished, thus also when
        the hook is not in call.

Thu Mar  8 16:35:48 2001  Tim Janik  <timj@gtk.org>

        * gparamspecs.[hc]: s/g_param_spec_string_c/g_param_spec_stringc/.

        * gsignal.[hc]: fixed accumulator invocation, implemented emission
        hooks. and no, neither of these callbacks are called via a closure,
        language bindings can wrap the accumulator and emission hook
        interface, they already get parameters marshalled into a GValue array.
        (g_signal_connect): removed this function as its C specific, doesn't
        cover the swapped argument, is too close to its broken original
        gtk_signal_connect() and creates demand for _swapped, _after and
        _swapped_after variants <brrr>.
        (g_signal_connectc): convenience macro to connect a C handler
        func with data, like the old g_signal_connect() plus swapped
        argument.

        * gtype.h:
        * gboxed.c: added G_TYPE_VALUE boxed type.
2001-03-08 16:34:59 +00:00
Sebastian Wilhelmi
ff42983fb9 Fix typo and thus bug #51862.
2001-03-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in (FLAG_DOES_NOT_WORK): Fix typo and thus bug #51862.
2001-03-08 09:37:01 +00:00
Tim Janik
37e4b8c87e changed prototype of g_boxed_type_register_static() to contain an optional
Wed Mar  7 09:36:33 2001  Tim Janik  <timj@gtk.org>

	* gboxed.[hc]: changed prototype of g_boxed_type_register_static()
	to contain an optional init function and a hint at whether the
	boxed structure uses ref counting internally.
	added g_value_set_boxed_take_ownership().
	made G_TYPE_BOXED an abstract value type.

	* genums.[hc]: made G_TYPE_ENUM and G_TYPE_FLAGS abstract value
	types.

	* glib-genmarshal.c: argument type changes, preparation for third-party
	arg specification.

	* gobject.[hc]: cleaned up get/set property code.
	added g_strdup_value_contents() to improve warnings.

	* gparam.[hc]: added g_param_value_convert(), taking over responsibility
	of the old g_value_convert(). added G_PARAM_LAX_VALIDATION flag so
	validation alterations may be valid a part of the property setting
	process.

	* gparamspecs.[hc]: made value comparisons stable (for sort applications).
	added GParamSpecValueArray, a param spec for value arrays and
	GParamSpecClosure. nuked the value exchange functions and
	GParamSpecCCallback.

	* gtype.[hc]: catch unintialized usages of the type system with
	g_return_val_if_uninitialized(). introduced G_TYPE_FLAG_VALUE_ABSTRACT
	to flag types that introduce a value table, but can't be used for
	g_value_init(). cleaned up reserved type ids.

	* gvalue.[hc]: code cleanups and saner checking.
	nuked the value exchange API. implemented value transformations, we
	can't really "convert" values, rather transforms are an anylogy to
	C casts, real conversions need a param spec for validation, which is
	why g_param_value_convert() does real conversions now.

	* gvaluearray.[hc]: new files that implement a GValueArray, a struct
	that can hold inhomogeneous arrays of value (to that extend that it
	also allowes undefined values, i.e. G_VALUE_TYPE(value)==0).
	this is exposed to the type system as a boxed type.

	* gvaluetransform.c: new file implementing most of the former value
	exchange functions as single-sided transformations.

	* gvaluetypes.[hc]: nuked G_TYPE_CCALLBACK, added
	g_value_set_string_take_ownership().

	* *.h: s/G_IS_VALUE_/G_VALUE_HOLDS_/.

	* *.[hc]: many fixes and cleanups.

	* many warning improvements.

Tue Feb 27 18:35:15 2001  Tim Janik  <timj@gtk.org>

	* gobject.c (g_object_get_valist): urg, pass G_VALUE_NOCOPY_CONTENTS
	into G_VALUE_LCOPY(), this needs proper documenting.

	* gparam.c: fixed G_PARAM_USER_MASK.

	* gtype.c (type_data_make_W):
	(type_data_last_unref_Wm): fixed invalid memory freeing.

	* gobject.c (g_object_last_unref): destroy signal handlers associated
	with object, right before finalization.

	* gsignal.c (g_signal_parse_name): catch destroyed nodes or signals
	that don't actually support details.

	* gobject.[hc]: got rid of property trailers. nuked GObject
	properties "data" and the "signal" variants.
	(g_object_connect): new convenience function to do multiple
	signal connections at once.
	(g_object_disconnect): likewise, for disconnections.

	* gparam.[hc] (g_param_spec_pool_lookup): took out trailer support.

	* gvalue.[hc]: marked g_value_fits_pointer() and g_value_peek_pointer()
	as private (the latter got renamed from g_value_get_as_pointer()).

Wed Mar  7 09:32:06 2001  Tim Janik  <timj@gtk.org>

        * glib-object.h: add gvaluearray.h.

        * gstring.[hc]: fixup naming of g_string_sprint*.

        * gtypes.h: fixed GCompareDataFunc naming.

Wed Mar  7 09:33:27 2001  Tim Janik  <timj@gtk.org>

        * gobject/Makefile.am: shuffled rules to avoid excessive
        rebuilds.

        * gobject/gobject-sections.txt: updates.

        * gobject/tmpl/*: bunch of updates, added another patch
        from Eric Lemings <eric.b.lemings@lmco.com>.
2001-03-07 14:46:45 +00:00
Christian Meyer
16c6aa6833 Added 'de' in configure.in to ALL_LINGUAS 2001-03-07 03:09:40 +00:00
Christophe Merlet
2d0a761f71 Added French translation. 2001-03-02 11:21:48 +00:00
Tor Lillqvist
d4960b2895 Use MAXPATHLEN, not PATH_MAX which isn't defined with MSVC.
2001-03-01  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_find_program_in_path): (Win32): Use MAXPATHLEN,
	not PATH_MAX which isn't defined with MSVC.
2001-03-01 10:59:55 +00:00
Tor Lillqvist
00988d0d76 Implement on Win32. Append the executable file name suffixes from PATHEXT
2001-03-01  Tor Lillqvist  <tml@iki.fi>

	* gutils.c(g_find_program_in_path): Implement on Win32. Append the
	executable file name suffixes from PATHEXT in turn while
	looking	for the program.
	(g_find_program_in_path): If the program we are looking for is a
	relative path in a subdirectory, don't do any path search.
2001-03-01 10:25:12 +00:00
Tor Lillqvist
b6ba941b50 Remove test for initial double backslash (UNC path), this will of course
2001-03-01  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_path_is_absolute): (Win32) Remove test for initial
	double backslash (UNC path), this will of course be matched by the
	test for an initial G_DIR_SEPARATOR right up front. Silly me.
	(g_find_program_in_path): Implement on Win32.
	(g_get_any_init): (Win32) Also look for the USERPROFILE env var
	indicating the home directory equivalent.

	* testglib.c (main): Test g_find_program_in_path() on Win32 by
	looking for more.com and regedit.exe.

	* glib.def: Add g_find_program_in_path.
2001-03-01 09:34:45 +00:00
Sebastian Wilhelmi
5215807c6c Make max_unused_threads work for -1 as well.
2001-02-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthreadpool.c (g_thread_pool_thread_proxy): Make
	max_unused_threads work for -1 as well.
2001-02-26 14:27:12 +00:00
Sebastian Wilhelmi
2395a333cc Change the order to match the order in g_thread_create().
2001-02-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.h (struct _GThread): Change the order to match the order
	in g_thread_create().

	* gthread.c (g_static_rec_mutex_lock_full): Also do the right
	thing (behave like 'depth' calls to g_static_rec_mutex_lock) for a
	mutex, that is already locked.

	* glib/tmpl/threads.sgml: Big update. Almost ready.

	* glib/tmpl/async_queues.sgml: Typo.

	* glib/glib-sections.txt: Added g_static_rec_mutex_init,
	g_static_rec_mutex_free, g_static_rw_lock_init,
	g_static_private_init and g_static_private_free.

	* glib/glib-overrides.txt: Added g_thread_yield and g_thread_exit.
2001-02-23 16:42:48 +00:00
Owen Taylor
53be713583 Add missing implementation ofsource->priority, g_source_remove_poll.
Thu Feb 22 10:31:36 2001  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_source_remove_poll): Add missing implementation
	ofsource->priority,  g_source_remove_poll. (Pointed out by Stefan Westerfeld)
2001-02-22 15:39:57 +00:00
Tor Lillqvist
cd89e4cca6 Match also UNC paths on Win32.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_path_is_absolute): Match also UNC paths on Win32.

	* gthread.h: Include gtypes.h to be sure to get GLIB_VAR
	definition, remove definition from here.

	* gunicode.h: Remove duplicate GLIB_VAR definition from here, too.

	* gutils.c: (Win32) Use USERPROFILE as home dir if present. On
	Win2k, HOMEDRIVE and HOMEPATH aren't reliable.

	* Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.

	* makefile.mingw.in: Remove install target, Windows isn't Unix.

	* testgdate.c
	* testgdateparser.c
	* testglib.c: Undefine GLIB_COMPILATION.

	* glib.def: Updates.

	* .cvsignore
	* */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
2001-02-21 12:41:28 +00:00
Hans Breuer
d1a05f990e updated for win32 msvc build 2001-02-19 21:51:19 +00:00
Tim Janik
628bde5dfe my name is glib-config-2.0! don't exit with errorcode!=0 for --help or -h.
Mon Feb 19 07:32:38 2001  Tim Janik  <timj@gtk.org>

        * glib-config-2.0.in (lib_glib): my name is glib-config-2.0!
        don't exit with errorcode!=0 for --help or -h.

        * Makefile.am:
        * configure.in: build glib-config-2.0.
2001-02-19 06:50:21 +00:00
Havoc Pennington
1c391cc698 include string.h
2001-02-17  Havoc Pennington  <hp@pobox.com>

	* gthread.c: include string.h

        Applied patch from Soeren Sandmann:

	* testglib.c: const fixes

	* gwin32.h: format cleanups

	* gutils.c (g_atexit): constify a variable
	(g_find_program_in_path): constification
	(g_basename): G_CONST_RETURN
	(g_path_skip_root): G_CONST_RETURN
	(g_getenv): G_CONST_RETURN
	(g_get_user_name): G_CONST_RETURN
	(g_get_real_name): G_CONST_RETURN
	(g_get_home_dir): G_CONST_RETURN
	(g_get_tmp_dir): G_CONST_RETURN
	(g_get_prgname): G_CONST_RETURN
	(_glib_gettext): G_CONST_RETURN

	* gunicode.h: formatting cleanups

	* gstrfuncs.c (g_strerror): G_CONST_RETURN
	(g_strsignal): G_CONST_RETURN

	* gspawn.c (g_execute): const on variables

	* gmessages.c (printf_string_upper_bound): fix const on a variable

	* gmem.c (g_mem_chunk_new): make the "name" arg const
	(struct _GRealMemChunk): make the "name" field const

	* gfileutils.c (g_file_open_tmp): store const return in a const
	gchar* variable

	* gdataset.c (g_quark_to_string): G_CONST_RETURN

2001-02-17  Havoc Pennington  <hp@pobox.com>

        Applied patch from Soeren Sandmann:

	* gvaluetypes.c (g_value_get_string): G_CONST_RETURN

	* gtype.c (g_type_name): G_CONST_RETURN

	* gsignal.c (g_signal_name): G_CONST_RETURN

	* gobject-query.c (main): const fix

2001-02-17  Havoc Pennington  <hp@pobox.com>

        Applied patch from Soeren Sandmann:

	* gmodule.c (g_module_error): G_CONST_RETURN
	(g_module_name): G_CONST_RETURN
2001-02-17 23:30:48 +00:00
Tim Janik
80d0c742e5 add check for broken RTLD_GLOBAL (on OSF1 V5.0).
Sat Feb 17 07:26:33 2001  Tim Janik  <timj@gtk.org>

        * configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
        (on OSF1 V5.0).

Sat Feb 17 07:27:15 2001  Tim Janik  <timj@gtk.org>

        * gmodule.c: work around platforms that have broken RTLD_GLOBAL.
2001-02-17 06:28:07 +00:00
Sebastian Wilhelmi
efb2e89e07 Reverted the changes necessary to enlarge the system thread for
2001-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* acconfig.h, configure.in: Reverted the changes necessary to
	enlarge the system thread for G_THREAD_USE_PID_SURROGATE.

	* gthread.c: Now implement G_THREAD_USE_PID_SURROGATE in gthread.c
	instead of gthread/gthread-posix.c. While the latter has the
	advantage, that it is conceptually cleaner, it makes
	g_thread_self_posix_impl _very_ slow and that hurts
	GStaticRecMutex and other things. So the new version is less
	clean, but faster.

	* gthread-posix.c: Removed the G_THREAD_USE_PID_SURROGATE
	implementation, which is now in gthread.c.
2001-02-15 16:43:02 +00:00
Havoc Pennington
a8786011f3 don't overwrite errors
2001-02-09  Havoc Pennington  <hp@redhat.com>

	* gconvert.c (g_convert): don't overwrite errors

	* gerror.c (g_set_error): improve warning message if an error is
	overwritten
	(g_propagate_error): ditto
2001-02-13 18:20:13 +00:00
Sebastian Wilhelmi
41e2001d85 Added functions g_static_rec_mutex_init, g_static_rec_mutex_free,
2001-02-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.c, gthread.h: Added functions g_static_rec_mutex_init,
	g_static_rec_mutex_free, g_static_private_init,
	g_static_private_free, g_static_rw_lock_init to allow the usage of
	all those types dynamically. (g_static_rw_lock_free already
	existed). Aditionally freed static_private indeces are reused
	now. Untill now the array would just grow if you would use more
	and more static_private. That required adding a slist of all
	running threads, which could potentially be of good use later. It
	is not exported however. Renamed a LOCK and small indentation
	fixes.

	* tests/thread-test.c: Test the new static_private index freing
	and reusing feature.
2001-02-13 15:57:44 +00:00
Owen Taylor
cc0f6f0232 Add check for gtk-doc version.
Mon Feb 12 15:01:09 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in (gtk_doc_min_version): Add check for gtk-doc version.
2001-02-12 20:25:58 +00:00
Tor Lillqvist
aed994f714 gtypes.h Move GLIB_VAR definition from gutils.h to gtypes.h
2001-02-10  Tor Lillqvist  <tml@iki.fi>

	* gtypes.h
	* gutils.h: Move GLIB_VAR definition from gutils.h to gtypes.h

	* glib.def
	* gmem.h: Mark glib_mem_profiler_table for export.
2001-02-10 01:43:25 +00:00
Tor Lillqvist
bf8cdc4655 Don't store address of local variable in hashtable.
2001-02-10  Tor Lillqvist  <tml@iki.fi>

	* gwin32.c (get_package_directory_from_module): Don't store
	address of local variable in hashtable.
2001-02-10 00:17:06 +00:00
Fatih Demir
41de921c50 Added tr to ALL_LINGUAS. 2001-02-08 09:43:21 +00:00
Tor Lillqvist
58a757a2c5 Use "nn" for Nynorsk, as nn.po files are appearing now. If the sublanguage
2001-02-04  Tor Lillqvist  <tml@iki.fi>

	* gwin32.c (g_win32_getlocale): Use "nn" for Nynorsk, as nn.po
	files are appearing now. If the sublanguage starts with '@', don't
	use a '_' separator. South Africa is 'ZA', not 'SA'.
2001-02-04 19:35:04 +00:00
Tim Janik
22357542e9 s/glib_trap_/g_trap_/. add comments on g_trap_instance_signals,
Sun Feb  4 07:38:32 2001  Tim Janik  <timj@gtk.org>

        * docs/debugging.txt: s/glib_trap_/g_trap_/. add comments on
        g_trap_instance_signals, g_trace_instance_signals and
        GRUNTIME_DEBUG.

        * gmem.c: s/glib_trap_/g_trap_/.

Sun Feb  4 07:30:53 2001  Tim Janik  <timj@gtk.org>

        * gtype.[hc]: changed g_type_init() to take debugging flags
        initially, a combination of G_TYPE_DEBUG_OBJECTS and
        G_TYPE_DEBUG_SIGNALS. using the G_TYPE_ prefix is a bit odd
        here, but basically g_type_int() serves as initialization
        fucntion for all of GType, GObject, GSignal, so what the heck.

        * gobject.c: special case debugging code properly.
        changed glib_trap_object_ref to g_trap_object_ref.

        * gsignal.c: add signal emission debugging abilities, along with
        a new trap object g_trap_instance_signals.
2001-02-04 07:03:52 +00:00
Tor Lillqvist
b6fef45d5a Change order of libs, put progs_LDADD last. Needed for cygwin, says
2001-02-04  Tor Lillqvist  <tml@iki.fi>

	* tests/Makefile.am (thread_LDADD): Change order of libs,
	put progs_LDADD last. Needed for cygwin, says jbdoll@kepri.re.kr.

2001-02-04  Tor Lillqvist  <tml@iki.fi>

	* Makefile.am (progs_LDADD): Change order of libs to libgobject
	first, then libglib. Needed for cygwin, says jbdoll@kepri.re.kr.
2001-02-03 22:32:10 +00:00
Tor Lillqvist
c2bd295c57 giochannel.h giowin32.c Stylistic cleanups. Use G_STRLOC in g_warning()
2001-02-02  Tor Lillqvist  <tml@iki.fi>

	* giochannel.h
	* giowin32.c
	* gmain.c: Stylistic cleanups. Use G_STRLOC in g_warning() calls.

	* glib.def: Add missing functions.

2001-01-31  Tor Lillqvist  <tml@iki.fi>

	* glibconfig.h.win32.in: Corresponding change as below to
	GStaticMutex.
2001-02-01 22:28:48 +00:00
Sebastian Wilhelmi
5434105fcb Added g_static_mutex_init to allow initialization of a GStaticMutex, that
2001-02-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.c, gthread.h: Added g_static_mutex_init to allow
	initialization of a GStaticMutex, that can not be initialized with
	G_STATIC_MUTEX_INIT, for example in allocated structures.

	* glib/tmpl/threads.sgml, glib/glib-sections.txt: Added
	documentation for g_static_mutex_init().

WCVS: ----------------------------------------------------------------------
2001-02-01 09:37:28 +00:00
Owen Taylor
2ab0ce294d Fix problem with --disable-nls.
Wed Jan 31 13:46:58 2001  Owen Taylor  <otaylor@redhat.com>

	* acinclude.m4 glib-gettext.m4: Fix problem with --disable-nls.
2001-01-31 19:18:48 +00:00
Sebastian Wilhelmi
f9dfcb27b7 Call g_thread_impl_init(), as g_thread_init won't call it.
2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread/gthread-impl.c (g_thread_init_with_errorcheck_mutexes): Call
	g_thread_impl_init(), as g_thread_init won't call it.


	* glib/glib-sections.txt, glib/tmpl/threads.sgml: Added
	g_static_mutex_free

	* gthread.c, gthread.h: Added g_static_mutex_free to allow using
	GStaticMutexes with limited lifetime without leaking.

	* configure.in: GStaticMutex doesn't have to provide extra space
	for debugging information for G_ERRORCHECK_MUTEXES, as then the
	non-default implementation (runtime_mutex) is used anyway.
2001-01-30 14:16:56 +00:00
Sebastian Wilhelmi
1f46d9f68f Added debug information for g_mutex_free calls, if G_ERRORCHECK_MUTEXES is
2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.h (g_cond_wait): Added debug information for
	g_mutex_free calls, if G_ERRORCHECK_MUTEXES is defined.

	* gthread/gthread-impl.c (g_mutex_free_errorcheck_impl): Fixed it for
	real. Sorry for this mess. It looked like a real obvious fix, so I
	didn't check. Bad boy. Added some casts to quiet the compiler.
2001-01-30 09:03:22 +00:00
Tor Lillqvist
f9da22ef07 Use the same GMutex structure as the configure-generated glibconfig.h
2001-01-29  Tor Lillqvist  <tml@iki.fi>

	* glibconfig.h.win32.in: Use the same GMutex structure as the
	configure-generated glibconfig.h does.

	* gstrfuncs.c (g_strsignal): Declare strsignal() on Cygwin, too,
	says jbdoll@kepri.re.kr.
2001-01-29 21:33:37 +00:00
Sebastian Wilhelmi
c96ad49767 Broadcast the condition, if there are waiting readers, as all might read
2001-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.c: Broadcast the condition, if there are waiting
	readers, as all might read at the same time. Only signal the
	writer thread, if there are no more readers.

	* gthread/gthread-impl.c (g_mutex_free_errorcheck_impl): Add
        new check to errorcheck mutexes to abort, if a locked mutex is freed.
2001-01-29 16:32:26 +00:00
Tor Lillqvist
388454cc3b makefile.mingw.in Protect the rule to rebuild makefile.mingw if
2001-01-25  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in
	* */makefile.mingw.in: Protect the rule to rebuild makefile.mingw
	if makefile.mingw.in has changed with a check if said .in file
	exists. (This rule is mainly a convenience for yours truly.)
2001-01-25 22:08:11 +00:00
Tor Lillqvist
20c9c60950 Typo. 2001-01-25 21:19:45 +00:00
Tor Lillqvist
8a0df0a71c Socket support rewritten. It was utterly broken, and untested in fact. We
2001-01-25  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c: Socket support rewritten. It was utterly broken, and
	untested in fact. We still do use a thread for each socket being
	watched, but instead of blocking in recv() (which of course was
	plain stupid for sockets being liste()ed on), we block in
	select(). The read method for sockets calls recv(). It is now
	possible for the application to call accept(), recv() or send() in
	the callback, just like on Unix. Tested with code kindly provided
	by Andrew Lanoix.

	Rename g_io_channel_win32_new_stream_socket() to
	g_io_channel_win32_new_socket() as it isn't restricted to stream
	sockets.

	* gmain.c (g_poll): Related changes in the Win32 version of
	g_poll(). When polling for messages, always do a PeekMessage()
	first. We used to miss messages if several were posted between
	calls to g_poll().

	* giochannel.h: Improve Win32-related comments.

	* gutf8.c: (Win32) Include <stdio.h> for sprintf.

	* tests/gio-test.c: (Win32) Add tests for polling for Windows
	messages.

	* tests/makefile.mingw.in: Remove superfluous compilation command
	line.
2001-01-25 21:16:46 +00:00
3
6d14518018 Free the callback (g_source_set_callback): Initialize the callback
2001-01-23    <alexl@redhat.com>

	* gmain.c (g_source_callback_unref): Free the callback
	(g_source_set_callback): Initialize the callback refcount
2001-01-23 07:35:52 +00:00
Tor Lillqvist
0030936be9 Even if g_get_codeset() is currently commented out from gutils.h, fix it
2001-01-20  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_get_codeset): (Win32) Even if g_get_codeset() is
	currently commented out from gutils.h, fix it to return the same
	CP%d value as g_get_charset().
2001-01-20 22:26:32 +00:00
Kjartan Maraas
59ce63340a Fix typo. Same here.
2001-01-19  Kjartan Maraas  <kmaraas@gnome.org>

	* gconvert.c: Fix typo.
	* gfileutils.c: Same here.
2001-01-19 08:32:46 +00:00
Tor Lillqvist
69dbd6eb03 Add doc comments. (g_win32_get_package_installation_directory): Add one
2001-01-17  Tor Lillqvist  <tml@iki.fi>

	* gwin32.c (g_win32_getlocale, g_win32_error_message): Add doc
	comments.
	(g_win32_get_package_installation_directory): Add one parameter,
	the name of a DLL in the package. Add possibility to use that to
	deduce the installation directory if not entered into the
	Registry. Make the return value dynamically allocated.
	(g_win32_get_package_installation_subdirectory): New convenience
	function.

	* gutils.c (GLIB_LOCALE_DIR)
	* gwin32.h: Adapt accordingly.

	* testglib.c (main): Adapt tests accordingly.
2001-01-17 21:37:32 +00:00
Owen Taylor
ff51072d50 Optimize for size rather than speed by making _() always call
Tue Jan 16 23:20:38 2001  Owen Taylor  <otaylor@redhat.com>

	* gutils.c glibintl.h: Optimize for size rather than speed by
	making _() always call _glib_gettext() instead of conditionally
	calling gettext() or _glib_gettext_init. glib only uses translated
	strings in slow error handling code anyways.

	* glibintl.h: g'ify types.

	* Makefile.am: include glibintl.h in _SOURCES
2001-01-17 04:31:20 +00:00
Tor Lillqvist
a9d05d4cc4 Define ENABLE_NLS and GETTEXT_PACKAGE.
2001-01-17  Tor Lillqvist  <tml@iki.fi>

	* config.h.win32.in: Define ENABLE_NLS and GETTEXT_PACKAGE.

	* makefile.mingw.in
	* makefile.msc.in: Use the GNU intl library.

	* gwin32.c (g_win32_get_package_installation_directory): New
	function. To be used by various GLib-using packages to get their
	installation directory, which should be stored in the Registry by
	some installer.

	* gwin32.h: Declare it.

	* testglib.c (main): Test it.

	* gutils.c: On Win32, define GLIB_LOCALE_DIR using
	g_win32_get_package_installation_directory().

	* glib.def: Update.
2001-01-16 22:06:23 +00:00
Owen Taylor
62ce81bfc7 Add @INTLIBS@.
Mon Jan 15 21:39:06 2001  Owen Taylor  <otaylor@redhat.com>

	* glib-2.0.pc.in (Libs) glib-config-2.0.in: Add @INTLIBS@.
2001-01-16 02:52:13 +00:00
Owen Taylor
b8796462fb Add gettext support.
Mon Jan 15 21:12:49 2001  Owen Taylor  <otaylor@redhat.com>

        * configure.in acconfig.h glibintl.h gutils.c
	po/{Makefile.in.in,POTFILES.in,po2tbl.in}: Add gettext
	support.

	* glib-gettext.m4 acinclude.m4: Clean up the GTK+ gettext macros
	some more and put them in this file, though they also need
	to be included in acinclude.m4 due to the brokeness of
	aclocal.

	* gspawn.c gspawn-win32.c gutf8.c gconvert.c gfileutils.c
	gshell.c: Remove dummy _() #defines, include glibintl.m4.
2001-01-16 02:24:24 +00:00
Tor Lillqvist
85537f0c8a Minor cosmetic change to previous ChangeLog entry. 2001-01-09 20:48:20 +00:00
Tor Lillqvist
9d27e6b7d5 Rework the changes to needed to pass mainloop-test. Now we don't need to
2001-01-09  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c (create_reader_thread): Rework the changes to
	needed to pass mainloop-test. Now we don't need to call
	TerminateThread() after all, which is a relief, as the docs
	have a BIG RED WARNING SIGN about using that API. Instead,
	when closing a fd channel that has a reader thread running,
	just mark it as non-running and additionally mark the fd as
	ripe for closing. When the reader thread hopefully eventually
	gets something (and EOF or some actual data), it will note
	that it shouldn't be running, break out of the loop, and close
	the fd.

	The socket channel closing code should probably be changed
	similarily, but that will have to wait until I have a test case.

	(g_pipe_readable_msg, g_io_channel_win32_new_pipe,
	g_io_channel_win32_new_pipe_with_wakeups,
	g_io_channel_win32_pipe_request_wakeups,
	g_io_channel_win32_pipe_readable): Remove these, have been
	obsolete for some time.

	* glib.def: Update.
2001-01-09 20:46:49 +00:00
Tor Lillqvist
78231a4b25 Don't warn about deprecation on Win32. Code written for GLib 1.2 doesn't
2001-01-09  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_basename, g_dirname): Don't warn about deprecation
	on Win32. Code written for GLib 1.2 doesn't have much choice but
	to use GLib >= 1.3 on Win32.

	* glib.def: Update.
2001-01-09 16:33:21 +00:00
Sebastian Wilhelmi
9e46ef9465 Made g_profile_mutex a GMutex* instead of G_LOCK_DEFINE_STATIC to avoid
2001-01-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gmem.c: Made g_profile_mutex a GMutex* instead of
	G_LOCK_DEFINE_STATIC to avoid deadlock for thread implementations
	without native static mutexes. Contruct g_profile_mutex in
	g_mem_init().
2001-01-09 13:47:12 +00:00
Tor Lillqvist
deb68e1592 Get len using strlen() if arg is negative in the Win32 code, too.
2001-01-06  Tor Lillqvist  <tml@iki.fi>

	* gconvert.c (g_locale_to_utf8, g_locale_from_utf8): Get len using
	strlen() if arg is negative in the Win32 code, too.

	* giowin32.c: Changes necessary to be able to run
	mainloop-test. We can't close the fd that our (internal) reader
	thread is sitting doing a blocking read() from. We must terminate
	the thread first. Keep track of thread handle, and close it when
	thread is dying. Start reader thread with the lower-level
	CreateThread() instead of _beginthreadex() from the C runtime, in
	order to be able to use TerminateThread(). Hopefuly this isn't
	harmful.

	* glib.def: Update.

	* tests/makefile.{mingw,msc}.in (TESTS): Add mainloop-test and
	unicode-encoding.

	* tests/mainloop-test.c: Portability: <unistd.h>, need <fcntl.h>
	on Win32.

	* tests/unicode-encoding.c (process): Add missing "line" argument
	to fail(). On Win32, convert UTF-16LE, as libiconv'c ivonf always
	converts to UTF-16BE if we ask for unspecific UTF-16.
	(main) Handle also '\r'.
2001-01-06 03:09:46 +00:00
Owen Taylor
956f00ed96 move $enable_debug down below checks for GCC to avoid setting CFLAGS
Fri Jan  5 11:25:42 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in (PACKAGE): move $enable_debug down below
	checks for GCC to avoid setting CFLAGS prematurely,
	change checks to avoid adding -g twice.

	* gutf8.c (g_ucs4_to_utf8): Support len < 0 to mean
	0 termination.

	* gutf8.c (g_utf8_to_ucs4): Terminate result with 0.

	* tests/mainloop-test.c (main): Fix uses of
	g_main_loop_destroy().

	* tests/unicode-encoding.c tests/Makefile.am tests/utf8.txt:
	Tests for unicode-conversion code.

	* gconvert.c (g_convert, g_convert_with_fallback): work around
	a couple of GNU libc bugs.

	* gconvert.[ch] (g_{locale,filename}_{to,from}_utf8): Standardize
	arguments to match g_convert(). Document.

	* gunicode.[ch]:
	  - Implement conversion functions to and from UTF-16
	  - Standardize unicode conversion functions on prototype like
	    g_convert.
	  - Add a lot of error checking to unicode conversion functions.

	* gunicode.[ch] (g_utf8_to_ucs4_fast): Add fast, non-checking
	variant of g_utf8_to_ucs4.

	* gutf8.c (g_utf8_validate):
	 - add g_return_if_fail (str != NULL).
	 - add checks for overlong strings, non-valid Unicode characters (>= 110000)
	   and single surrogates.
2001-01-05 21:22:47 +00:00
Tor Lillqvist
71e0f93747 Add test for g_path_skip_root().
2001-01-05  Tor Lillqvist  <tml@iki.fi>

	* testglib.c (main): Add test for g_path_skip_root().

	* gutils.c (g_path_skip_root): Fix bugs in code I just added ;-)
2001-01-05 20:19:37 +00:00
Tor Lillqvist
ebf8fe6a92 Look also for (illegal) forward slashes in the template.
2001-01-05  Tor Lillqvist  <tml@iki.fi>

	* gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
	forward slashes in the template.

	* gutils.c (g_path_skip_root): On Win32, skip the \\server\share
	part of UNC paths. On all platforms, skip several initial
	slashes. Add a few comments.
	(g_get_any_init): On Win32, in case HOME is Unix-style with
	(forward) slashes (some other applications apparently set it up
	this way, convert to backslashed form.

	* configure.in (glib_os): Remove stray 'v'. Add case for mingw,
	although using configure for mingw surely doesn't work yet.

	* glib.def: Update.
2001-01-05 19:30:13 +00:00