Commit Graph

1839 Commits

Author SHA1 Message Date
Tor Lillqvist
b24f1d179e Add g_trash_stack entry points.
2000-11-17  Tor Lillqvist  <tml@iki.fi>

	* glib.def: Add g_trash_stack entry points.
2000-11-19 19:08:46 +00:00
Owen Taylor
cc7ce9f9d7 Released 1.3.2
Fri Nov 17 15:43:00 2000  Owen Taylor  <otaylor@redhat.com>

        * Released 1.3.2

	* NEWS: Update.

	* tests/Makefile.am (dist-hook): Add code to distribute
	markup test files.
2000-11-17 20:44:24 +00:00
Sebastian Wilhelmi
b9731eb861 Check for the sched.h header and include it on gthread/gthread-posix.c if
2000-11-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Check for the sched.h header and include it on
	gthread/gthread-posix.c if available.

	* gthread-posix.c: Include <sched.h> if available.

	* configure.in: Add -D_POSIX4_DRAFT_SOURCE to
	GTHREAD_COMPILE_IMPL_DEFINES. Also add -D_POSIX4A_DRAFT10_SOURCE
	to G_THREAD_CFLAGS. Really deploy GTHREAD_COMPILE_IMPL_DEFINES,
	when searching for thread libs. Look for sched_* functions in
	-lrte as well. All of that is necessary on DG/UX.

	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADERS in
	various places to make it work more reliable, to make it accept
	macros instead of functions etc.

	* configure.in: Replace some NULL's for checks with 0 to make it
	work without stdio.h everywhere.

	* configure.in, gutils.c: changed the test for getpwuid_r to first
	test for a posix version and then for a non-posix version. No code
	change in gutils.c. Again this change deals better with getpwuid_r
	being a macro and not a function. Most of the above with kind help
	from Tethys <tet@isengard.europe.dg.com>. This fixes Bug #13403.
2000-11-15 17:48:43 +00:00
Tor Lillqvist
835b593a6f Make #endif comment match #ifdef.
2000-11-14  Tor Lillqvist  <tml@iki.fi>

	* gwin32.h: Make #endif comment match #ifdef.
2000-11-14 21:40:28 +00:00
Owen Taylor
b1376c12d9 Up version to 1.3.2
Mon Nov 13 14:00:20 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Up version to 1.3.2

	* gconvert.h (enum GConvertError): Remove trailing ,

	* gfileutils.c (g_file_open_tmp): Fix comment to
	properly describe return value.
2000-11-13 19:01:28 +00:00
Tor Lillqvist
50c62ba8a9 Add USE_LIBICONV.
2000-11-13  Tor Lillqvist  <tml@iki.fi>

	* config.h.win32.in: Add USE_LIBICONV.

	* gconvert.c: Check G_OS_WIN32 only after including glib.h.

	* glib.def: Update.
2000-11-13 18:03:57 +00:00
Sebastian Wilhelmi
82ab77c8f7 Made recursive mutexes also work when the thread system is not (yet)
2000-11-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.c (g_static_rec_mutex_*): Made recursive mutexes also
	work when the thread system is not (yet) initialized.
2000-11-13 12:50:16 +00:00
Owen Taylor
292152dae2 Create wrapper functions for iconv() so that we can transparently use the
Sun Nov 12 18:34:32 2000  Owen Taylor  <otaylor@redhat.com>

	* gconvert.[ch]: Create wrapper functions for iconv()
	so that we can transparently use the native iconv,
	libiconv, or (in the future) a mini-iconv included
	with glib.

	* glib-config-2.0.in glib-2.0.pc.in: Include @ICONV_LIBS@

	* INSTALL: Added note about libiconv.

	* configure.in: Add checks for libiconv from pango. If
	EILSEQ is not defined in errno.h add define for it into
	glibconfig.h so g_iconv can use it. (Note, recompiling
	from a system without EILSEQ to a system with EILSEQ
	will break binary compatibility)
2000-11-12 23:44:28 +00:00
Robert Brady
8bda01029f Remove g_filename_{to,from}_utf8
2000-11-12  Robert Brady  <robert@suse.co.uk>

	* gstrfuncs.c, gstrfuncs.h: Remove g_filename_{to,from}_utf8

	* gconvert.c, gconvert.h: Add g_filename_{to,from}_utf8 and
	g_locale_{to.from}_utf8.  The locale_ variant honours
	nl_langinfo(CODESET), the filename_ variant uses UTF-8 unless
	asked otherwise.

	(g_convert): Add G_CONVERT_ERROR_PARTIAL_INPUT error, if bytesread
	!= length and no bytesread pointer passed.
2000-11-12 21:23:55 +00:00
Owen Taylor
91d5e23f5f template is a reserved word in C++ s/template/tmpl/.
Sun Nov 12 15:29:53 2000  Owen Taylor  <otaylor@redhat.com>

	* gfileutils.[ch]: template is a reserved word in
	C++ s/template/tmpl/.
2000-11-12 20:38:19 +00:00
Havoc Pennington
96b9935a7c Handle a long stream of bytes containing no UTF-8 character starts
2000-11-11  Havoc Pennington  <hp@pobox.com>

* gmarkup.c (g_markup_parse_context_parse): Handle a long stream
of bytes containing no UTF-8 character starts
2000-11-11 17:09:15 +00:00
Tor Lillqvist
ccc9329e1c Add missing entry points.
2000-11-11  Tor Lillqvist  <tml@iki.fi>

	* glib.def: Add missing entry points.

	* gobject.def: Add missing functions.
2000-11-11 15:03:10 +00:00
Tor Lillqvist
4f76917c6a Improve chance to generate unique names with less effort a bit.
2000-11-11  Tor Lillqvist  <tml@iki.fi>

	* gfileutils.c (g_mkstemp): Improve chance to generate unique
	names with less effort a bit.

	* gfileutils.h: Add g_file_open_tmp() declaration.

	* testglib.c: Include <io.h> on Win32.

	* makefile.mingw.in: Correct the way to invoke sub-makes.

2000-11-11  Tor Lillqvist  <tml@iki.fi>

	* gtypemodule.c: Include stdlib.h for exit().

	* makefile.{mingw,msc}.in (gobject_OBJECTS): Add gtypemodule.

	* gobject.def: Add new functions.
2000-11-11 13:46:15 +00:00
Owen Taylor
c36151fcdc Add gtypemodule.h
Sun Nov  5 13:20:54 2000  Owen Taylor  <otaylor@redhat.com>

	* glib-object.h: Add gtypemodule.h
2000-11-11 00:04:33 +00:00
Tor Lillqvist
997215e747 New function, suggested by Havoc earlier this month. (g_mkstemp): Use only
2000-11-11  Tor Lillqvist  <tml@iki.fi>

	* gfileutils.c (g_file_open_tmp): New function, suggested by Havoc
	earlier this month.
	(g_mkstemp): Use only one case for letters in temp file name, as
	this will be used on systems with case-insensitive file systems.

	* testglib.c (main): Test g_mkstemp() and g_file_open_tmp().
2000-11-10 23:43:33 +00:00
Sebastian Wilhelmi
c46b9f34e4 Don't take threads with other priorities into account as changing the
2000-11-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthreadpool.c: Don't take threads with other priorities into
	account as changing the priority is highly unportable. (Actually
	using it at all already is unportable, but even sometimes where
	that works, changing priority is not possible).
2000-11-09 12:28:12 +00:00
Havoc Pennington
14c4da8cdd rename G_MARKUP_FOO to G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG
2000-11-05  Havoc Pennington  <hp@pobox.com>

* gmarkup.h: rename G_MARKUP_FOO to
G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG

* gmarkup.c: don't start doc comments with "Returns"

2000-11-05  Havoc Pennington  <hp@pobox.com>

* glib/tmpl/markup.sgml: Write docs
2000-11-05 18:38:08 +00:00
Havoc Pennington
194ae56882 inline docs (unescape_text): properly check strtoul for failure.
2000-11-05  Havoc Pennington  <hp@pobox.com>

* gmarkup.c: inline docs
(unescape_text): properly check strtoul for failure.

* gerror.c (g_propagate_error): Free the src error if the dest
location is NULL - I'm pretty sure that's what this function was
supposed to do.
2000-11-05 18:09:16 +00:00
Havoc Pennington
d4ff0ef999 Free the src error if the dest location is NULL - I'm pretty sure that's
2000-11-05  Havoc Pennington  <hp@pobox.com>

* gerror.c (g_propagate_error): Free the src error if the dest
location is NULL - I'm pretty sure that's what this function was
supposed to do.

2000-11-05  Havoc Pennington  <hp@pobox.com>

* glib/tmpl/error_reporting.sgml: fixes
2000-11-05 17:02:37 +00:00
Havoc Pennington
110c6cbac8 Added
2000-11-05  Havoc Pennington  <hp@pobox.com>

        * glib/tmpl/spawn.sgml, glib/tmpl/markup.sgml,
	glib/tmpl/fileutils.sgml: Added

	* glib/Makefile.am: Add new files

	* glib/glib-sections.txt: Add stuff from -unused

2000-11-05  Havoc Pennington  <hp@pobox.com>

* gutils.c (g_find_program_in_path): cleanup docs, sync param
names to those in the header

* gfileutils.c (g_mkstemp): clean up docs

* gshell.h: sync param names with param names in .c file

* gfileutils.h (enum GFileTest): remove trailing comma from last
member, confuses gtk-doc

* gmarkup.h: s/GMarkupErrorType/GMarkupError/g; to follow
convention
2000-11-05 16:38:16 +00:00
Sebastian Wilhelmi
91b9b2dd12 Added documentation for asynchronous queues.
2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/tmpl/async_queues.sgml, glib/glib-sections.txt: Added
	documentation for asynchronous queues.

	* gasyncqueue.c: Added inline documentation for asyncronous
	queues.
2000-11-02 14:54:52 +00:00
Sebastian Wilhelmi
9c574a6a9a Changed unportable __FUNCTION__ to the verbatim function name.
2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gspawn.c: Changed unportable __FUNCTION__ to the verbatim
	function name.
2000-11-02 12:31:10 +00:00
Sebastian Wilhelmi
6c41cc9ce7 Include sys/select.h (some platforms need it for select).
2000-11-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gspawn.c: Include sys/select.h (some platforms need it for
	select).
2000-11-02 11:38:10 +00:00
Tor Lillqvist
dd3f4d6bb3 gutils.c gutils.h gfileutils.c Actually, g_mkstemp() is better suited in
2000-10-31  Tor Lillqvist  <tml@iki.fi>

	* gutils.c
	* gutils.h
	* gfileutils.c
	* gfileutils.h: Actually, g_mkstemp() is better suited in gfileutils.
2000-10-30 22:06:22 +00:00
Tor Lillqvist
6acee58bdf Check for mkstemp.
2000-10-30  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Check for mkstemp.

	* gutils.c (g_mkstemp): New function. If HAVE_MKSTEMP, just call
	it, otherwise use code lifted from glibc.

	* gutils.h: Declare it.

	* glib.def: Here, too.
2000-10-30 21:55:21 +00:00
Sebastian Wilhelmi
267b681370 Introduced new function type GEqualFunc to return TRUE for equal params.
2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gcache.h, gcache.c, ghash.h, ghash.c, grel.c, grel.h, gtypes.h:
	Introduced new function type GEqualFunc to return TRUE for equal
	params. This is now used instead of GCompareFunc (which should
	work akin to strcmp) here. This kind of fixes Bug #14412. Note
	that technically GCompareFunc and GEqualFunc are still the same
	types, as gint == gboolean.

	* ghash.h, gutils.c: g_int_equal and g_direct_equal now return
	gboolean to be really become GEqualFunc.

	* gscanner.c, testglib.c, tests/hash-test.c: Some tiny changes to
	follow the above change.
2000-10-30 14:34:52 +00:00
Tor Lillqvist
09683edc5c Add gmarkup.
2000-10-27  Tor Lillqvist  <tml@iki.fi>

	* makefile.{mingw,msc}.in (glib_OBJECTS): Add gmarkup.

	* glib.def: Add missing functions.

	* tests/makefile.{mingw,msc}.in (TESTS): Add markup-test.
2000-10-27 20:43:42 +00:00
Havoc Pennington
32ef70d4b2 New module to parse a simple markup language
2000-10-24  Havoc Pennington  <hp@pobox.com>

        * gmarkup.h, gmarkup.c: New module to parse a simple
	markup language

	* Makefile.am: add gmarkup.h, gmarkup.c

	* tests/Makefile.am: add markup-test

	* gstring.h (g_string_new_len): new function to create a string
	with a length
	(g_string_new): avoid a gratuitous realloc
2000-10-27 02:46:04 +00:00
Tor Lillqvist
7ea09e4589 Cosmetics.
2000-10-26  Tor Lillqvist  <tml@iki.fi>

	* makefile.{mingw,msc}.in: Cosmetics.
2000-10-26 17:53:58 +00:00
Sebastian Wilhelmi
6f83e76ea8 When the string is ended by a delimiter, return an extra empty string just
2000-10-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gstrfuncs.c (g_strsplit): When the string is ended by a
	delimiter, return an extra empty string just like for a delimiter
	at the start of the string. This makes the function behave more
	consitent and also fixes Bug #15026.
2000-10-26 13:00:18 +00:00
Tim Janik
ee23c09e83 added newly added gobject/ headers.
Tue Oct 24 22:09:14 2000  Tim Janik  <timj@gtk.org>

        * glib-object.h: added newly added gobject/ headers.

        * gmesage.c: print g_message() output to stderr instead of stdout.

Wed Oct 25 20:27:02 2000  Tim Janik  <timj@gtk.org>

        * gtype.c (g_type_free_instance): for the moment, freeing object
        structures will fill their memory portion with 0xAA. there's a
        FIXME there, remove this line at a later point.

Tue Oct 24 23:10:26 2000  Tim Janik  <timj@gtk.org>

        * glib-genmarshal.1:
        * glib-genmarshal.c: added publically installed marshaller generator.

        * gtype.h: added G_TYPE_INSTANCE_GET_INTERFACE() to retrive a certain
        interface VTable from instances.

Mon Oct 23 08:28:15 2000  Tim Janik  <timj@gtk.org>

        * gobject.[hc]: new functions for closure maintenance:
        (g_object_watch_closure): maintain validity of the object and
        the closure for objects that are used as data part of a closure.
        (g_cclosure_new_object): convenience function to create C closures
        that have an object as data argument.
        (g_closure_new_object): convenience function to create closures
        that have an object as data argument.

        * gclosure.[hc]: implementation of GClosure mechanism.
        a closure is basically an encapsulation of a callback function
        and its environment. ideally, most places supporting callback
        functions will simply take a GClosure* pointer and thus unify
        callback environments wrg destroy notification etc.
        GClosure provides destroy notifiers for arbitrary data pointers,
        reference counting, invalidation notification (it can be invalidated
        which is merely a deactivate state) and a marshallinbg abstraction.
        GCClosure is also provided in these files, they present a specialized
        GClosure implementation for C language callbacks.

        * genum.c: macro cleanups.

        * gboxed.[hc]: new files, for boxed type abstraction.
        (g_boxed_copy): copy a boxed structure
        (g_boxed_free): free a boxed structure
        (g_value_set_boxed):
        (g_value_get_boxed): standard GValue functions for boxed types
        (g_boxed_type_register_static): convenience function for easy
        introduction of new G_TYPE_BOXED derivatives.

        * gparam.[hc]: introduced g_param_type_register_static(), a short hand
        for creation of new GParamSpec derived types.

        * gtype.[hc]: many fixes, introduced ability to flag individual
        type nodes as ABSTRACT upon registration, added value_peek_pointer()
        to the value table to peek at GValue contents as a pointer for types
        that support this. fixed up GValue checks.

        * gvalue.[hc]: added g_value_fits_pointer() and g_value_get_as_pointer()
        to peek at the value contents as pointer.

        * *.[hc]: adaptions to type macro fixes and changes in the type
        registration API.

        * many const corrections over the place.

Sat Oct 21 02:49:56 2000  Tim Janik  <timj@gtk.org>

        * gtype.c (g_type_conforms_to): this function basically behaves like
        and is_a check, except that it _additionally_ features interfaces
        for instantiatable types. enforce this in the second branch as well
        (`type' conforms_to `type') even if `type' is not an interface type.

Fri Oct 20 15:31:04 2000  Tim Janik  <timj@gtk.org>

        * gvaluetypes.[hc]: added G_TYPE_POINTER implementation from jrb.

        * gtype.[hc]:
        * gobject.c:
        * gvaluetypes.c: added GTypeValueTable.value_peek_pointer and
        suitable implementations of this for G_TYPE_STRING, G_TYPE_OBJECT
        and G_TYPE_POINTER.

Mon Aug 21 04:13:37 2000  Tim Janik  <timj@gtk.org>

        * gbsearcharray.[hc]: long standing needed generic implementation
        of a binary searchable, sorted and dynamically sized array.
2000-10-25 20:36:35 +00:00
Sebastian Wilhelmi
08dfb6d307 Use one = instead of two, which is plainly wrong.
2000-10-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Use one = instead of two, which is plainly wrong.
2000-10-23 14:15:22 +00:00
Tor Lillqvist
4905022b8e Pass -DGSPAWN_HELPER when building it. Link with user32.lib.
2000-10-19  Tor Lillqvist  <tml@iki.fi>

	* makefile.msc.in: Pass -DGSPAWN_HELPER when building it. Link
	with user32.lib.

	* gspawn-win32.c
	* gfileutils.c: Make them compile with picky MSVC.

	* gwin32.h: New file. Move Win32-only stuff that isn't related to
	GIOChannels here from giochannel.h.

	* Makefile.am: Add it here.

	* giochannel.h: Move stuff to gwin32.h.

	* glib.h: On Win32, include gwin32.h.
2000-10-19 17:52:12 +00:00
Owen Taylor
1bfc515a37 Change ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().
Mon Sep 11 10:03:24 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.h convert.c (g_convert_with_fallback): Change
	ERROR_OTHER to ERROR_FAILED, add some dummy marking with _().

	* docs/reference/glib/glib-sections.txt
	docs/reference/glib/glib-docs.sgml Update for g_convert,
	g_unicode_validate.
2000-10-19 15:21:04 +00:00
Tor Lillqvist
e936093123 Remove alloca stuff from here. galloca.h takes care of it, correctly.
2000-10-16  Tor Lillqvist  <tml@iki.fi>

	* glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
	takes care of it, correctly.
2000-10-16 19:55:26 +00:00
Tor Lillqvist
03f512769d Add gspawn-win32.c to EXTRA_DIST. 2000-10-16 18:55:38 +00:00
Tor Lillqvist
fb4de1c50d Some more debugging output. (g_io_channel_win32_poll): Remove unused vars.
2000-10-16  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c (reader_thread): Some more debugging output.
	(g_io_channel_win32_poll): Remove unused vars.

	* gfileutils.c: Changes for Win32, with no unistd.h and no
	S_ISLNK().

	* gspawn-win32.c: Implementation of the g_spwan_* functions for
	Win32. Due to the general non-Unixness of Win32, much of the
	functionality that is relatively clean to implement on Unix, is
	hard to do on Win32. We must use a separate helper program to
	change directory, close extra file descriptors, redirect the std
	ones, as needed, and only then start the child process. No child
	process pid can be returned, unfortunately. Or if we used
	CreateProcess directly, it probably could. (Now we use the spawnv*
	functions from msvcrt.)

	* glib.def: Add new entry points.

	* glib.def
	* giowin32.c: Remove g_io_channel_win32_wait_for_condition(),
	g_io_channel_win32_poll() subsumes it.

	* gbacktrace.h: G_BREAKPOINT for MSVC (on the ix86).

	* gwin32.c (g_win32_getlocale): Use "sp" for
	LANG_CROATIAN+SUBLANG_SERBIAN_LATIN.

	* makefile.{mingw,msc}.in (glib_OBJECTS): Add new files.
	Add gspawn-win32-helper.exe rule.

	* tests/makefile.{mingw,msc}.in (TESTS): Add shell-test and
	spawn-test.

	* tests/spawn-test.c: (run_tests): On Win32, don't try to run
	/bin/sh, but ipconfig (no special significance in choosing that,
	just a program that outputs something to stdout).
2000-10-16 18:54:29 +00:00
Raja R Harinath
a626a650e5 gmodule: New variable. (dist-hook): Handle $(BUILT_EXTRA_DIST).
gmodule:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).

gobject:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
(*): Remove traces of @STRIP_{BEGIN,END}@.

gthread:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).

docs/reference:
'make distcheck' fixes.
* glib/Makefile.am (EXTRA_DIST): Add $(DOC_MODULE)-decl.txt.
(html): Run 'gtkdoc-fixxref' in $(srcdir).
(dist-check-gtkdoc): Add missing quote.
(dist-hook): Copy in dependency order, so that none of the
makerules are fired in a tarball build.

* gobject/Makefile.am: Likewise.

toplevel:
Remove need for acconfig.h, and misc. cleanups.
* acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
AC_DEFINE_UNQUOTED.
(GLIB_BYTE_CONTENTS): Likewise.

* configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
and AC_DEFINE_UNQUOTED(...) lines.
Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
(AM_PROG_LIBTOOL): Move after AC_PROG_CC.

* acconfig.h: Empty out.

* Makefile.am (BUILT_EXTRA_DIST): New variable.  List 'dist'able
files that are created in the builddir.
(dist-hook): Handle those files.
(libglib_1_3_la_SOURCES): Remove @ALLOCA@.  @ALLOCA@ should only
be used in an _LDADD or _LIBADD, since it expands (if necessary)
to 'alloca.o'.

* tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
2000-10-16 01:02:19 +00:00
Sebastian Wilhelmi
eb27cad0f0 Added inline documentation.
2000-10-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* grand.c: Added inline documentation.

	* docs/refernce/glib/glib-sections.txt: Added misc items.

	* docs/refernce/glib/tmpl/random_numbers.sgml: Documentation for
        the random number generator.
2000-10-13 13:52:47 +00:00
Sebastian Wilhelmi
24b4bfbea1 Readded GFreeFunc, g_node_insert_after and g_find_program_in_path resp.,
2000-10-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gtypes.h, gnode.h, gutils.h: Readded GFreeFunc,
	g_node_insert_after and g_find_program_in_path resp., which
	mysteriously disappeared during the glib.h dissection.
2000-10-13 08:16:54 +00:00
Sebastian Wilhelmi
f70ef2aa26 Adapted accordingly to header separation and GLIB_HAVE_ALLOCA_H renaming.
2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glibconfig.h.win32.in: Adapted accordingly to header separation
	and GLIB_HAVE_ALLOCA_H renaming.
2000-10-12 14:55:37 +00:00
Sebastian Wilhelmi
bceccd7243 Added the new headers to glibinclude_HEADERS.
2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Makefile.am: Added the new headers to glibinclude_HEADERS.

	* glib.h: Forgot to include gerror.h.
2000-10-12 12:16:16 +00:00
Sebastian Wilhelmi
b1d1558747 Split glib.h into many header files mostly according to the resp.
2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, galloca.h, garray.h, gasyncqueue.h, gbacktrace.h,
	gcache.h, gcompletion.h, gconvert.h, gdataset.h, gdate.h, ghash.h,
	ghook.h, giochannel.h, glist.h , gmacros.h, gmain.h, gmem.h,
	gmessages.h, gnode.h, gprimes.h, gquark.h, gqueue.h, grand.h,
	grel.h, gscanner.h, gslist.h, gstrfuncs.h, gstring.h, gthread.h,
	gthreadpool.h, gtimer.h, gtree.h, gtypes.h, gutils.h: Split glib.h
	into many header files mostly according to the resp. *.c-files.

	* gmacros.h: Added G_BEGIN_DECLS and G_END_DECLS to mean: 'in case
	of C++: extern "C" { ... }' analogous to glibc __BEGIN_DECLS and
	__END_DECLS.

	* configure.in, gerror.h, gfileutils.h, gshell.h, gspawn.h,
	gunicode.h, : Changed guard-macro names to something more
	consistent.

	* configure.in, *.h: Use G_BEGIN_DECLS and G_END_DECLS.
2000-10-12 11:52:07 +00:00
Sebastian Wilhelmi
b1d7443893 Removed cruft from old threading code.
2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Removed cruft from old threading code.
2000-10-12 11:39:50 +00:00
Sebastian Wilhelmi
dfcd33747e define GLIB_HAVE_ALLOCA_H instead of including alloca.h in glibconfig.h,
2000-10-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: define GLIB_HAVE_ALLOCA_H instead of including
	alloca.h in glibconfig.h, GLIB_HAVE_ALLOCA_H is used in glib.h.
2000-10-12 08:06:16 +00:00
Raja R Harinath
306bd3a2bf Work with beta autoconf 2.50.
* configure.in (GLIB_MAJOR_VERSION): Use GLIB_DIVERT_BEFORE_HELP
instead of AC_DIVERT_PUSH(),AC_DIVERT_POP.
(AC_CHECK_HEADERS): Remove redundant AC_DEFINE(HAVE_...).
(REALLOC_0_WORKS): Move AC_DEFINE outside AC_CACHE_VAL.
(dlopen): Quote nested AC_CHECK_... calls.

* acglib.m4 (GLIB_TR_SH, GLIB_TR_CPP): Utility macros copied from
beta autoconf 2.50.
(GLIB_DIVERT_BEFORE_HELP): New macro that works both with autoconf
2.13 and beta autoconf 2.50.
(GLIB_SIZEOF, GLIB_BYTECONTENTS): Use GLIB_TR_*.
2000-10-09 21:06:01 +00:00
Raja R Harinath
61f2f04c41 Use this to specify that 'configure' depends on acglib.m4.
* Makefile.am (CONFIGURE_DEPENDENCIES): Use this to specify
that 'configure' depends on acglib.m4.
2000-10-09 20:15:55 +00:00
Havoc Pennington
8e3a3eef63 Add new files.
2000-10-09  Havoc Pennington  <hp@redhat.com>

        * Makefile.am, tests/Makefile.am: Add new files.

	* tests/spawn-test.c, tests/shell-test.c: new tests for
	the shell/spawn stuff

	* gutils.c (g_find_program_in_path): convert a relative
	program name into an absolute pathname to an existing
	executable

	* gspawn.h, gspawn.c: New fork/exec API

	* gshell.h, gshell.c: Shell-related utilities, at the moment
	simply routines to parse argv and quote/unquote strings

	* guniprop.c (g_unichar_isspace): Return TRUE for the
	ASCII space characters isspace() returns TRUE for.

	* gfileutils.c (g_file_get_contents): Convenience function
	to slurp entire file into a string and return it. Partially
	written by Joel Becker.
	(g_file_test): file test function
2000-10-09 16:24:57 +00:00
Tor Lillqvist
18e7dc0215 Fix the Win32-only code to use current API,
2000-10-06  Tor Lillqvist  <tml@iki.fi>

	* tests/gio-test.c (main): Fix the Win32-only code to use current
	API, g_io_channel_win32_make_pollfd() and g_io_channel_win32_poll().
2000-10-06 21:43:25 +00:00
Tor Lillqvist
8e847255e8 Revamp to be like makefile.mingw.in, make the MSVC build actually work
2000-10-06  Tor Lillqvist  <tml@iki.fi>

	* makefile.msc.in: Revamp to be like makefile.mingw.in, make
	the MSVC build actually work again.

	* gmodule/makefile.msc.in
	* gobject/makefile.msc.in
	* gthread/makefile.msc.in: New files, like their mingw counterparts.

	* gmodule/Makefile.am
	* gobject/Makefile.am
	* gthread/Makefile.am: Make and distribute them.

	* */makefile.mingw.in: Allow override of GLib version number from
	the build/win32/module.defs file.

	* glib.def: Add new entry point.

	Fixes from Hans Breuer:

	* glib.h (struct DIR): Keep the last readdir result cached inside
	the DIR struct, to enable several DIRs being open simultaneously.

	* gwin32.c (g_win32_readdir): Use the above instead of static.

	* giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
	MSVC happy.
2000-10-06 21:32:59 +00:00
Sebastian Wilhelmi
e2085327a2 Changed alloca stuff a bit: when we have a working alloca.h, we're not
2000-10-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * glib.h: Changed alloca stuff a bit: when we have a working
        alloca.h, we're not messing with alloca any further. Should fix a
        bug reported by Bernd Demian <wega@csc-dd.de>.
2000-10-05 09:07:53 +00:00
Martin Baulig
81c0bf53a8 Reverted my last commit:
2000-09-30  Martin Baulig  <baulig@suse.de>

	* configure.in (HAVE_THREADS): New automake conditional.
	* Makefile.am (SUBDIRS): Only compile the gthread subdirectory if we
	actually have threads.
2000-10-04 09:20:55 +00:00
Martin Baulig
336f7e89fe Put the pkg-config scripts back to the correct pkg-config syntax
(the pkg-config that comes with the RedHat 7.0 glib-gtkbeta RPM and
 not the one from pkgconfig.sourceforge.net which is old).
2000-09-30 02:14:04 +00:00
Jonathan Blandford
b3ee868f94 Added function to keep symetry with g_node_insert_before. 2000-09-29
2000-09-29  Jonathan Blandford  <jrb@redhat.com>

	* gnode.c (g_node_insert_after): Added function to keep symetry
	with g_node_insert_before.
2000-09-29  Jonathan Blandford  <jrb@redhat.com>

	* glib/tmpl/trees-nary.sgml: Add g_node_insert_after().
2000-09-29 23:13:02 +00:00
Martin Baulig
79b416d023 New automake conditional. Only compile the gthread subdirectory if we
2000-09-30  Martin Baulig  <baulig@suse.de>

	* configure.in (HAVE_THREADS): New automake conditional.
	* Makefile.am (SUBDIRS): Only compile the gthread subdirectory if we
	actually have threads.
2000-09-29 22:18:56 +00:00
Martin Baulig
1a4f9dddcd Set this to `$(libexecdir)/pkgconfig'; this is the directory where
2000-09-29  Martin Baulig  <baulig@suse.de>

	* Makefile.am (pkgconfigdir): Set this to `$(libexecdir)/pkgconfig';
	this is the directory where pkg-config actually looks.

	* *.pc.in: Made the pkg-config scripts actually work.
2000-09-29 20:36:52 +00:00
Martin Baulig
a3fc275ddd Several minor ANSI C fixes.
2000-09-29  Martin Baulig  <baulig@suse.de>

	Several minor ANSI C fixes.

	Added missing casts:
	* gdate.c (g_date_fill_parse_tokens): `s = (guchar *) str'.
	* gmain.c (g_idle_dispatch): `func = (GSourceFunc) source_data'.
	(g_idle_add_full): `(gpointer) function' in call to g_source_add().
	* gstrfuncs.c (g_strdown): `s = (guchar *) string' and
	`return (gchar *) string'.
	(g_strup): Likewise.
	(g_strchug): `start = (guchar*) string' in 1st for() argument;
	`strlen ((gchar *) start)' in call to g_memmove().
	* gstring.c (g_string_down): `s = (guchar *) string->str'.
	(g_string_up): Likewise.
	* gthreadpool.c (stop_this_thread_marker):
	`(gpointer) &g_thread_pool_new'.
	* gunidecomp.h (decomp_table[]): Cast all the strings to
	`unsigned char *'.

	Put text following #endif into comments:
	* gmain.c: here.
2000-09-29 13:37:01 +00:00
Sebastian Wilhelmi
7633908c93 Added errorcheck mutexes. These are activated through the preprocessor
2000-09-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, glib.h: Added errorcheck mutexes. These are
	activated through the preprocessor symbol
	G_ERRORCHECK_MUTEXES. Need to add an extra word to StaticMutex in
	order to achieve this. g_(static_)mutex_* functions instrument the
	mutex operations with mutex name and location, when compiled with
	-DG_ERRORCHECK_MUTEXES. g_thread_init activates the errorcheck
	mutexes, when compiled with -DG_ERRORCHECK_MUTEXES.

	* gthread/gthread-impl.c: Added errorcheck mutexes. New
        exported function
        g_thread_init_with_errorcheck_mutexes, which is called instead of
	g_thread_init, when compiled with -DG_ERRORCHECK_MUTEXES. New
	static functions
	g_mutex_(new|lock|trylock|unlock|free)_errorcheck_impl to
	implement errorcheck mutexes.

	* gthread/gthread-posix.impl.c, gthread/gthread-solaris-impl.c:
        Define the size of a mutex.
2000-09-29 13:10:41 +00:00
Havoc Pennington
349eaa6a25 fix indentation (GConvertError): generic error is conventionally called
2000-09-28  Havoc Pennington  <hp@pobox.com>

* glib.h (GThreadPriority): fix indentation
(GConvertError): generic error is conventionally called
_FAILED rather than _OTHER, at least at the moment,
according to GError docs in docs/reference.

* gconvert.c: s/_OTHER/_FAILED/
2000-09-29 02:56:43 +00:00
Sebastian Wilhelmi
5143dcb166 Adjusted the test for an unimplemented getpwuid_r. Info from Michael
2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Adjusted the test for an unimplemented
	 getpwuid_r. Info from Michael Pruett. This is just a forward
	 merge from glib-1-2.
2000-09-28 13:11:23 +00:00
Sebastian Wilhelmi
e885fe2462 Moved determination of G_THREAD_FLAGS before G_THREAD_LIBS. Check for
2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Moved determination of G_THREAD_FLAGS before
	G_THREAD_LIBS. Check for UnixWare systems and set the right cflags
	and libs there (it needs -Kthread for the native compiler and
	-pthread for gcc). Thanks to Boyd Lynn Gerber <gerberb@zenez.com>
	for the info.

	* configure.in: Fail immediately, when no thread library is found,
	instead of continuing searching for rt libs etc. Changed almost
	all occurances of $enable_threads to $have_threads, as that's,
	what we want.

	* tests/threadpool-test.c: Define vars inside the guard to avoid
	warnings.
2000-09-28 07:54:40 +00:00
Sebastian Wilhelmi
abb813df20 Some platforms support 64 bit 'long long', but you can not printf or scanf
2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, tests/type-test.c: Some platforms support 64 bit
	'long long', but you can not printf or scanf them. In that case,
	don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
	to reflect that.
2000-09-28 07:45:04 +00:00
Sebastian Wilhelmi
6088718e19 max_len can't be initialized statically as it might call a function. So do
2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_current_dir): max_len can't be initialized
	statically as it might call a function. So do it at first call.
2000-09-28 07:35:02 +00:00
Elliot Lee
bef233642e Add G_GNUC_PURE macro (but don't use it anywhere).
Add G_GNUC_PURE macro (but don't use it anywhere).
2000-09-26 16:56:52 +00:00
Elliot Lee
723ef16447 Add a few missing G_GNUC_CONST's.
Add a few missing G_GNUC_CONST's.
2000-09-25 21:28:14 +00:00
Tor Lillqvist
599be596c2 Add gconvert.o. Use libiconv.
2000-09-21  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Add gconvert.o. Use libiconv.

	* config.h.win32.in: Define HAVE_GETCWD.

	* glib.def: Add new entry points.

	* gthread/makefile.mingw.in: Use pthreads macros from ../build.
2000-09-21 16:17:32 +00:00
Sebastian Wilhelmi
6ad8111de3 The last released automake (1.4) still requires AM_PROG_LIBTOOL instead of
2000-09-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: The last released automake (1.4) still requires
	AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL, so use that for the
	time being.
2000-09-21 12:49:10 +00:00
Sebastian Wilhelmi
e2600b0476 Test for the existence of getcwd, and use it only when found.
2000-09-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* acconfig.h, configure.in, gutils.c: Test for the existence of
	getcwd, and use it only when found.

	* glib.h: Only use the gcc-variable-macro-argument-extension for
	gcc >= 2.4. Both patches from Jonas Oberg <jonas@gnu.org>.
2000-09-19 14:30:35 +00:00
Owen Taylor
ddbb2ea440 Implement g_ucs4_to_utf8 which was in
Mon Sep 18 10:58:21 2000  Owen Taylor  <otaylor@redhat.com>

	* gutf8.c: Implement g_ucs4_to_utf8 which was in
2000-09-18 14:55:24 +00:00
Elliot Lee
86ce799cdf Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com> Define g_alloca() as an
Sun Sep 17 2000 Elliot Lee <sopwith@redhat.com>
	* glib.h configure.in: Define g_alloca() as an alloca-that-works-anywhere.
	* gconvert.c: Fix warnings which could have caused problems on 64-bit platforms.
2000-09-17 22:18:48 +00:00
Owen Taylor
a212f93df2 Havoc Pennington's implementation of convenient character set conversion
Sun Sep 10 12:37:40 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.h gconvert.c (g_convert): Havoc Pennington's implementation
	of convenient character set conversion using iconv, with
	the addition of GError. We probably need a fallback that
	just does conversions between, say UTF-8,16,32 and ISO-8859-1
	for targets without iconv at all.

	Also add g_convert_with_fallback() to take care of conversions
	where we accept some loss going to the target encoding.
2000-09-11 03:03:18 +00:00
Havoc Pennington
49c937fcbb Add this function.
2000-09-10  Havoc Pennington  <hp@redhat.com>

	* gutf8.c (g_utf8_validate): Add this function.
2000-09-11 00:09:31 +00:00
Owen Taylor
333f4c4325 Add a missing g_return_if_fail().
Sat Sep  9 18:50:42 2000  Owen Taylor  <otaylor@redhat.com>

	* gstrfuncs.c (g_strescape): Add a missing g_return_if_fail().
2000-09-10 16:04:33 +00:00
Tim Janik
9432265430 for non-i386 and non-alpha, or non gcc, implement BREAKPOINT() as raise (5
Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>

        * glib.h (G_BREAKPOINT): for non-i386 and non-alpha, or non gcc,
        implement BREAKPOINT() as raise (5 /* SIGTRAP */);

        * glib.h: provide user-definable switch G_IMPLEMENT_INLINES,
        to turn on compilation of inline function implementations provided
        in header files with extern linkage.
        wrap inline function implementations into ifdef __G_UTILS_C__, so we
        really only compile them for gutils.c and not also into arbitrary user
        code that wants to make use of G_IMPLEMENT_INLINES.
        adjusted comment apropriately.

        * gutils.c: to turn on compilation of inline functions, provide
        #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
2000-09-07 23:08:25 +00:00
Havoc Pennington
29b652941c docs
2000-09-06  Havoc Pennington  <hp@redhat.com>

	* gerror.c: docs

	* docs/reference/glib/tmpl/error_reporting.sgml: docs
2000-09-06 23:30:21 +00:00
Owen Taylor
da765af2bc Some inline docs fixes.
Wed Sep  6 10:28:34 2000  Owen Taylor  <otaylor@redhat.com>

	* guniprop.c gunicode.h gutf8.c: Some inline docs fixes.
2000-09-06 14:42:13 +00:00
Sebastian Wilhelmi
ef2dcd6265 s/G_MICROSEC/G_USEC_PER_SEC/
2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, gtimer.c, tests/thread-test.c:
	s/G_MICROSEC/G_USEC_PER_SEC/

	* gthread/gthread-posix.c, gthread/gthread-solaris.c:
	s/G_MICROSEC/G_USEC_PER_SEC/ and s/G_NANOSEC/G_NSEC_PER_SEC/
2000-09-06 13:56:17 +00:00
Sebastian Wilhelmi
caeb4053e9 Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as they are really
2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h: Removed G_G{U}{SHORT|INT|LONG}_FORMAT from glib.h, as
	they are really superfluous.
2000-09-06 08:02:56 +00:00
Owen Taylor
8cc4771fa2 Add gtk-doc checks for newly added docs/reference/ subdir.
Tue Sep  5 20:16:27 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in docs/Makefile.am: Add gtk-doc checks
	for newly added docs/reference/ subdir.
2000-09-06 00:17:41 +00:00
Sebastian Wilhelmi
3ca18629b0 Don't use a G_LOCK, as it isn't necessary.
2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread.c (g_thread_error_quark): Don't use a G_LOCK, as it
	isn't necessary.
2000-09-05 08:58:20 +00:00
Sebastian Wilhelmi
fab90158aa Use g_return_val_if_fail instead of g_return_if_fail, as the function now
2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gstring.c (g_string_free): Use g_return_val_if_fail instead of
	g_return_if_fail, as the function now is supposed to return
	something.
2000-09-01 13:45:43 +00:00
Sebastian Wilhelmi
64bbfbb6da Include gerror.h before it is used for some g_thread_* functions.
2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h: Include gerror.h before it is used for some g_thread_*
	functions.

	* gthread.c, gthreadpool.c, glib.h: Enable error reporting for
	thread creation, namly for g_thread_create, g_thread_pool_new,
	g_thread_pool_push and g_thread_pool_set_max_threads.

	* tests/thread-test.c, tests/threadpool-test.c: Adapted
	accordingly.

	* gthread-posix.c (g_thread_create_posix_impl): Use GError to
	report errors.
2000-09-01 13:03:23 +00:00
Sebastian Wilhelmi
21a498b1a5 Added function g_propagte_error to hand over local errors to the calling
2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gerror.c, gerror.h (g_propagte_error): Added function
	g_propagte_error to hand over local errors to the calling
	function.
2000-09-01 12:47:42 +00:00
Tor Lillqvist
3dcf39eb77 glib.h glib.def New function, to make a GPollFD from a GIOChannel. Creates
2000-08-31  Tor Lillqvist  <tml@iki.fi>

	* glib.h
	* glib.def
	* giowin32.c (g_io_channel_win32_make_pollfd): New function, to
	make a GPollFD from a GIOChannel. Creates the events and starts
	the reader thread if necessary.
2000-08-31 22:47:24 +00:00
Tor Lillqvist
ba8a71589d glib.h No use for separate condition parameter.
2000-08-31  Tor Lillqvist  <tml@iki.fi>

	* glib.h
	* giowin32.c (g_io_channel_win32_poll): No use for separate
	condition parameter.
2000-08-31 21:58:59 +00:00
Tor Lillqvist
a7e60b7576 Simplify, use GetSystemTimeAsFileTime().
2000-08-31  Tor Lillqvist  <tml@iki.fi>

	* gmain.c (g_get_current_time): (Win32): Simplify, use
	GetSystemTimeAsFileTime().
2000-08-31 20:55:16 +00:00
Tor Lillqvist
55cd16c993 Hmm, the parameter to g_io_channel_win32_poll() should be a GPollFD array,
2000-08-27  Tor Lillqvist  <tml@iki.fi>

Hmm, the parameter to g_io_channel_win32_poll() should be
a GPollFD array, not GIOChannel. That way the caller can know which
channels cause the callback.
2000-08-27 15:33:15 +00:00
Tor Lillqvist
3d0a1b3b22 New function, otherwise like g_io_channel_win32_wait_for_condition(), but
2000-08-27  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c (g_io_channel_win32_poll): New function, otherwise
	like g_io_channel_win32_wait_for_condition(), but accept several
	GIOChannels.
	(g_io_channel_win32_wait_for_condition): Call
	g_io_channel_win32_poll().

	* glib.h: Declare g_io_channel_win32_poll().

	* gwin32.c (g_win32_error_message): Don't believe return value
	from FormatMessage.
2000-08-27 10:53:36 +00:00
Elliot Lee
a435aaff03 Mark the following functions G_GNUC_CONST (to allow betteroptimization)
2000-08-25 Elliot Lee <sopwith@redhat.com>
	* glib.h, gunicode.h, gmodule/gmodule.h:
	Mark the following functions G_GNUC_CONST (to allow
	betteroptimization) because their results are a function of only their parameters:
	g_int_hash, g_int_equal, g_direct_hash, g_direct_equal, g_quark_to_string,
	g_date_is_leap_year, g_date_days_in_month, g_date_monday_weeks_in_year,
	g_date_sunday_weeks_in_year, g_spaced_primes_closest, g_unichar_is*,
	g_unichar_to*, g_unichar_*digit_value, g_unichar_type
2000-08-25 22:45:48 +00:00
Elliot Lee
8f2c74a5b2 Fix inclusion of config.h
Fix inclusion of config.h
2000-08-21 23:06:11 +00:00
Owen Taylor
33df64519d Fix a couple of trivial bugs that were causing warnings.
Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>

	* tests/gio-test.c: Fix a couple of trivial bugs that
	were causing warnings.

Mon Aug 21 14:39:36 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.h: Use C99 varargs macros where possible
	(check __STDC_VERSION__), otherwise, on gcc, use an alternate
	form of gcc varargs which is more likely
	to be supported going forward. (Based on some code
	from Raja Harinath)
2000-08-21 18:46:52 +00:00
Darin Adler
4010a5acb2 Return the data left behind. Return the data left behind.
* glib.h:
    * garray.c: (g_array_free), (g_ptr_array_free),
    (g_byte_array_free): Return the data left behind.
    * gstring.c: (g_string_free): Return the data left behind.

    Changed the free calls that leave data behind so they
    return a pointer to the left-behind data, NULL if told not
    to leave anything behind. This makes these calls easier
    to use correctly, without any incompatible API change for
    callers that don't know about the return value. Of course,
    it would be even clearer if the free calls weren't dual-purpose
    in the first place.
2000-08-17 21:37:18 +00:00
Tor Lillqvist
f17ed7ee26 Some indentation and spacing fixes. Add some more logging.
2000-08-12  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c: Some indentation and spacing fixes. Add some more
	logging.
	(g_io_win32_add_watch): New function, with common code from
	g_io_win32_fd_add_watch and g_io_win32_sock_add_watch. Don't start
	more than one reader thread for a GIOChannel. We should obviously
	have just one reader thread reading a file descriptor or socket.
2000-08-11 21:36:00 +00:00
Havoc Pennington
4261dcfa99 don't duplicate glib Cflags
2000-08-10  Havoc Pennington  <hp@redhat.com>

* gthread-2.0.pc.in (Cflags): don't duplicate glib Cflags

* gmodule-2.0.pc.in (Cflags): don't duplicate glib Cflags

* gobject-2.0.pc.in (Cflags): don't duplicate Cflags from glib
itself
2000-08-11 03:29:19 +00:00
Havoc Pennington
c055bfe189 Look in glib-2.0/include for glibconfig.h
2000-08-10  Havoc Pennington  <hp@redhat.com>

* glib-2.0.pc.in (Cflags): Look in glib-2.0/include for
glibconfig.h
2000-08-11 03:23:08 +00:00
Tor Lillqvist
3d6f441f96 New function, that calls g_source_remove(). Check return value of
2000-08-07  Tor Lillqvist  <tml@iki.fi>

	* tests/gio-test.c (shutdown_source): New function, that calls
	g_source_remove(). Check return value of g_source_remove(), and
	decrement running subprocess counter only if g_source_remove()
	actually did remove the source.

	(recv_message): Call shutdown_source() on EOF condition. Return
	FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
2000-08-06 23:33:29 +00:00
Tim Janik
042179dad8 keep *last updated while running through the domain list, so we don't
Sun Aug  6 20:06:02 2000  Tim Janik  <timj@gtk.org>

        * gmessages.c (g_log_domain_check_free): keep *last updated while
        running through the domain list, so we don't screw up the removal,
        patch provided by Gady Kozma <gadykozma@hotmail.com>.

Sun Aug  6 20:03:41 2000  Tim Janik  <timj@gtk.org>

        * gmessages.c (g_log_remove_handler): keep *last updated while running
        through the handler list, so we don't screw up the removal.
2000-08-06 18:09:32 +00:00
Owen Taylor
37e7118821 Fix stray character
Sun Jul 30 16:54:13 2000  Owen Taylor  <otaylor@redhat.com>

        * gunicode.h: Fix stray character

	* gutf8.c (g_unichar_to_utf8): Allow outbuf to be NULL, in
	which case we just compute the length.
2000-07-31 18:52:11 +00:00
Havoc Pennington
8bca378a6e forgot to add .pc.in to EXTRA_DIST
2000-07-31  Havoc Pennington  <hp@redhat.com>

* Makefile.am (EXTRA_DIST): forgot to add .pc.in to EXTRA_DIST
2000-07-31 17:13:55 +00:00
Havoc Pennington
0ae2749548 pkg-config data files
2000-07-31  Havoc Pennington  <hp@redhat.com>

        * glib-2.0.pc.in, gobject-2.0.pc.in, gmodule-2.0.pc.in,
	gobject-2.0.pc.in: pkg-config data files

	* Makefile.am: Install/dist the .pc files

	* configure.in: Output the .pc files
2000-07-31 17:10:33 +00:00
Tor Lillqvist
beed3997ab The code didn't compile (must have been sleepy when committing). "return"
2000-07-31  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c (buffer_read): The code didn't compile (must
	have been sleepy when committing). "return" instead of "break"

	(g_io_win32_fd_add_watch): Cannot check if the file descriptor is
	readable by calling ReadFile to read zero bytes. ReadFile blocks
	on NT even if trying to read nothing at all. So, don't check if
	file descriptor is readable; assume this function isn't called
	otherwise.
2000-07-31 15:11:02 +00:00
Tim Janik
33efff673a fix tor's recent changes which got rid of a required variable in the
Sun Jul 30 10:44:16 2000  Tim Janik  <timj@gtk.org>

        * gmain.c (g_get_current_time): fix tor's recent changes which
        got rid of a required variable in the non-windows path.
2000-07-30 08:44:06 +00:00
Tor Lillqvist
1860151db0 Compile in the debugging code all the time, but only output debug messages
2000-07-30  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c: Compile in the debugging code all the time, but only
	output debug messages if told so. Add (unadvertised) function to
	turn on/off debug messages for a channel.

	(buffer_read): Don't loop. It is expected behaviour to return a
	short read occasionally, for instance when reading from
	pipes. It's the calling code that should loop if it *knows* how
	much the writer has written.

	* tests/gio-test.c: Correct the program's name in the output.
	(recv_message): Loop calling g_io_channel_read() (in a new
	function read_all()) until we have all the bytes we want (that we
	know the writer has written/will write).
2000-07-30 00:27:39 +00:00
Tor Lillqvist
b965bb5db1 Finally, a new and improved IO Channel and condition watch implementation
2000-07-30  Tor Lillqvist  <tml@iki.fi>

	Finally, a new and improved IO Channel and condition watch
	implementation for Win32. Based on code provided by Craig Setera.

	When watching file descriptors, for which there is no select()
	like functionality on Win32 that would work on all Win32 platforms
	for all types of file descriptors (including anonymous pipes), we
	start a new thread that blocks while trying to read from the file
	descriptor. When the read returns, a Win32 Event is signalled that
	the polling routine eventually notices. Meanwhile, the data being
	read is stored in a circular buffer, from where the IO channel's
	read() method picks it up.

	If the buffer fills up the reading thread has to wait for space
	becoming available. For this another Win32 Event is used. The IO
	Channel's read() method signals this when it has read some data
	out of the buffer.

	The separate reader thread(s), and the circular buffer(s) with
	associated events mean lots of possibilities for fun parallellism
	errors. But it seems to work OK, i.e. GIMP runs.

	* gmain.c: Small changes to the Win32 polling function.
	(g_main_win32_get_poll_func): New function. Perhaps it would be a
	good idea to provide this on all platforms.

	* giowin32.c: The bulk of the new implementation.
	(g_io_channel_win32_wait_for_condition): New function. To be used
	where on Unix one does a select() on the channel's fd, like
	libgimp's gimp_extension_process(). Could be provided on all
	platforms.

	* glib.h: Update documentation for IO Channels on Win32. Remove
	the declarations for the as of now obsolete old functions related
	to IO Channels for pipes with "wakeup" messages.

	* glib.def: Some new functions.

	* tests/gio-test.c: New file, to test GIOChannel and main loop.

	* tests/Makefile.am
	* tests/makefile.mingw.in: Add it.
2000-07-29 20:59:07 +00:00
Tim Janik
864d4be8ca completed tor's fix to cover both #ifdef branches.
Thu Jul 27 05:15:11 2000  Tim Janik  <timj@gtk.org>

        * gstrfuncs.c (g_strlcpy, g_strlcat): completed tor's fix
        to cover both #ifdef branches.
2000-07-27 03:16:15 +00:00
Tor Lillqvist
42d1962199 Return 0 on error, not NULL.
2000-07-26  Tor Lillqvist  <tml@iki.fi>

	* gstrfuncs.c (g_strlcpy, g_strlcat): Return 0 on error, not NULL.

	* glib.def: Add g_strlcpy, g_strlcat.

	* glibconfig.h.win32.in: Add gsize and gssize.
2000-07-26 15:39:44 +00:00
Tim Janik
c9bd7542e1 applied patch from Andreas Persenius <ndap@swipnet.se> that updates the
Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>

        * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
        updates the license headers to the GNU Lesser General Public License,
        as well as updating the copyright year to 2000.
2000-07-26 11:02:02 +00:00
Tim Janik
83e49bd036 added g_strlcat() and g_strlcpy() wrappers, supplied by David Wheeler
Wed Jul 26 05:47:48 2000  Tim Janik  <timj@gtk.org>

        * configure.in:
        * testglib.c:
        * gstrfuncs.c:
        * glib.h: added g_strlcat() and g_strlcpy() wrappers, supplied by
        David Wheeler <dwheeler@ida.org>:

        * glib.h, gstrfuncs.c: added g_strlcpy and g_strlcat to support
          safe manipulation of fixed-length string buffers.
          These functions were originally developed by Todd Miller to simplify
          development of security-related programs, and
          are available on many (but not all) Unix-like systems,
          including OpenBSD, FreeBSD, and Solaris.  See
          ftp://ftp.openbsd.org/pub/OpenBSD/src/lib/libc/string/strlcpy.3
          and http://www.openbsd.org/security.html.
          If there's a strlcpy/strlcat on the system, it's called, otherwise
          an implementation is provided.

        * testglib.c: Added tests for g_strlcpy, g_strlcat.
2000-07-26 03:51:07 +00:00
Tim Janik
cb2f078051 include <stdlib.h> and <stddef.h> if STDC_HEADERS is defined.
Wed Jul 26 05:03:24 2000  Tim Janik  <timj@gtk.org>

        * acglib.m4 (GLIB_SIZEOF): include <stdlib.h> and <stddef.h> if
        STDC_HEADERS is defined.

        * glib.h:
        * glibconfig.h: define gsize and gssize in terms of GLIB_SIZEOF_SIZE_T

        * glib.h (g_return_if_reached): applied darin's fix for copy'n
        paste error in the macro implementation.
2000-07-26 03:18:27 +00:00
Tim Janik
623efc182c applied patch from Darin Adler <darin@eazel.com> which supplies
Wed Jul 26 00:46:03 2000  Tim Janik  <timj@gtk.org>

        * glib.h: applied patch from Darin Adler <darin@eazel.com> which
        supplies g_return_if_reached(), g_return_val_if_reached() and
        g_critical().
2000-07-25 22:48:09 +00:00
Tor Lillqvist
f07b4a876e Fix resource handling, the resource file got left out from the DLL after
2000-07-22  Tor Lillqvist  <tml@iki.fi>

	* build-dll: Fix resource handling, the resource file got left out
	from the DLL after all... Remove the WIN32APIHEADERS, not needed
	with current windres.

	* glib.def: Add new functions.
2000-07-22 08:38:06 +00:00
Sebastian Wilhelmi
fec9828ac6 Mark the functions g_basename and g_dirname deprecated. They will issue an
2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c, glib.h: Mark the functions g_basename and g_dirname
	deprecated. They will issue an warning once, when compiled with
	G_ENABLE_DEBUG, but continue to work as before. Instead the
	functions g_path_get_basename and g_path_get_dirname should be
	used, which BOTH return newly allocated memory, that has to freed
	by g_free. The new g_path_get_basename now strips trailing slashes
	from the path. This fixes #5097. For discussion see
	http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html

	* gwin32.c, testglib.c, tests/dirname-test.c: Use the new
	functions instead of the old ones.

	* gmodule/libgplugin_a.c, gmodule/testgmodule.c: Use
	g_path_get_basename instead of the deprecated g_basename.
2000-07-20 16:58:54 +00:00
Sebastian Wilhelmi
84114c5321 Mark the functions g_hash_table_freeze, g_hash_table_thaw and thus
2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* ghash.c, gscanner.c, glib.h: Mark the functions
	g_hash_table_freeze, g_hash_table_thaw and thus
	g_scanner_freeze_symbol_table and g_scanner_thaw_symbol_table
	deprecated. They will issue an warning once, when compiled with
	G_ENABLE_DEBUG. This fixes Bug #3883. For discussion see
	http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
2000-07-20 16:06:33 +00:00
Sebastian Wilhelmi
cb931f4980 glibconfig.h and glib.h now include files outside of the extern "C" block.
2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, glib.h: glibconfig.h and glib.h now include files
	outside of the extern "C" block. Makes some C++ compiler
	happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.

	* gmodule/gmodule.h: include glib.h before doing extern "C".
        Makes some C++ compiler happy. Reported by Denis Vakatov
	<vakatov@peony.nlm.nih.gov>.
2000-07-19 14:01:22 +00:00
Owen Taylor
9556b49053 Remove incomplete start of info file -
Sat Jul 15 23:49:03 2000  Owen Taylor  <otaylor@redhat.com>

	* glib/glib.texi: Remove incomplete start of info file -
2000-07-16 03:49:54 +00:00
Owen Taylor
26602fdbc7 Add build/Makefile and build/win32/Makefile to AC_OUTPUT() so things build
Sat Jul 15 22:44:22 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Add build/Makefile and
        build/win32/Makefile to AC_OUTPUT() so things build
        again.
2000-07-15 21:59:15 +00:00
Tim Janik
a9a09f147f fixed an off by 0 error (yeah, the function went off when the while (n--)
Sat Jul 15 09:11:46 2000  Tim Janik  <timj@gtk.org>

        * gstrfuncs.c (g_strncasecmp): fixed an off by 0 error (yeah,
        the function went off when the while (n--) loop failed due to
        n==0 ;), reported by Jean-Louis HAMEL <jlhamel@club-internet.fr>.
2000-07-15 07:18:19 +00:00
Tor Lillqvist
45adcf12c1 Include the "build" module in GLib, too, to make it more self-contained.
2000-07-15  Tor Lillqvist  <tml@iki.fi>

* Makefile.am (SUBDIRS): Include the "build" module in GLib, too,
to make it more self-contained. If your CVS client doesn't
automatically get it, do a cvs get build in glib.

* */makefile.mingw.in: Include make.mingw from build in the glib
source directory.
2000-07-14 22:46:35 +00:00
Owen Taylor
f5d91c6f16 Release 1.3.1
Fri Jul 14 16:26:35 2000  Owen Taylor  <otaylor@redhat.com>

	* Release 1.3.1
2000-07-14 22:33:15 +00:00
Owen Taylor
eb023508ad Move glib-config to glib-config-2.0 move glib.m4 to glib-2.0.m4
Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in Makefile.am glib-config.m4 glib.m4: Move
	glib-config to glib-config-2.0 move glib.m4 to
	glib-2.0.m4

	* Makefile.am gobject/Makefile.am gmodule/Makefile.am
	gthread/Makefile.am tests/Makefile.am: Change
	library names to libglib-1.3.la, etc, so that we
	can distinguish glib-1.2 and glib-2.0 on the linkline.

	* Makefile.am gobject/Makefile.am gmodule/Makefile.am:
	Move include files into /usr/include/glib-2.0.

Thu Jul  6 18:54:49 2000  Owen Taylor  <otaylor@redhat.com>

	* docs/Makefile.am (EXTRA_DIST): Remove info files
	from the build.
2000-07-14 19:22:54 +00:00
Tor Lillqvist
f4e591eb7b Add g_error functions.
2000-07-14  Tor Lillqvist  <tml@iki.fi>

* glib.def: Add g_error functions.

* makefile.mingw.in: Add gbacktrace.o.

* gbacktrace.c: No need to include <process.h>.
2000-07-13 20:07:45 +00:00
Havoc Pennington
c38d1dd9e9 #include <gerror.h>
2000-07-12  Havoc Pennington  <hp@redhat.com>

* glib.h: #include <gerror.h>

* Makefile.am (include_HEADERS): Add gerror.h
(libglib_la_SOURCES): Add gbacktrace.c

* gbacktrace.c: Move g_on_error_query() in here (moved on the
server, so history is preserved)

* gerror.h: GError interface

* gerror.c: GError implementation replaces stuff that's now in
gbacktrace.c
2000-07-12 21:06:16 +00:00
Owen Taylor
04bc211e6c Move string.h include into the .c file instead of where it was in the .h
Sun Jul  9 21:21:46 2000  Owen Taylor  <otaylor@redhat.com>

	* genums.[ch]: Move string.h include into the .c file
	instead of where it was in the .h file by mistake.

Sun Jul  9 21:20:45 2000  Owen Taylor  <otaylor@redhat.com>

	* gunicode.h: Include stddef.h instead of stdlib.h
2000-07-10 01:28:03 +00:00
Tor Lillqvist
39732afc59 Rename the GUTILS_C_VAR macro to GLIB_VAR.
2000-07-08  Tor Lillqvist  <tml@iki.fi>

* glib.h (GLIB_VAR): Rename the GUTILS_C_VAR macro to GLIB_VAR.

* gunicode.h: Mark the g_utf8_skip array with GLIB_VAR.

* glib.def: Add two missing entry points.
2000-07-08 12:40:09 +00:00
Owen Taylor
cf2f511198 Release 1.3.1
Thu Jul  6 15:35:28 2000  Owen Taylor  <otaylor@redhat.com>

	* Release 1.3.1

	* Makefile.am (EXTRA_DIST): Dist fixes.

	* configure.in: Moderate the warnings just a little bit.
2000-07-06 20:18:37 +00:00
Tor Lillqvist
8e881830ae Update README.win32. 2000-07-04 22:52:51 +00:00
Owen Taylor
9608683328 Fix up to correspond to configure.in checks.
Mon Jul  3 17:58:02 2000  Owen Taylor  <otaylor@redhat.com>

	* gutf8.c (g_utf8_get_charset_internal): Fix up
	to correspond to configure.in checks.
2000-07-03 22:01:58 +00:00
Owen Taylor
8384a1342e Comment g_get_codeset() out of the header file temporarily. (Very similar
Mon Jul  3 17:18:19 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.h: Comment g_get_codeset() out of the header file
	temporarily. (Very similar to g_get_charset(), need
	to resolve the two.)
2000-07-03 21:20:34 +00:00
Tor Lillqvist
3250d07cbc Add new entry points.
2000-07-01  Tor Lillqvist  <tml@iki.fi>

* glib.def: Add new entry points.

* makefile.{mingw,msc}.in: Add the new Unicode object files.

2000-07-01  Tor Lillqvist  <tml@iki.fi>

* gobject.def: Update added and renamed entry points.

* makefile.mingw.in: Add gvaluetypes.o.
2000-06-30 23:39:13 +00:00
Owen Taylor
6e47268c14 updated
Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>

        * NEWS: updated

	* Makefile.am: added snapcheck target to go along with snapshot

	* gstring.c glib.h (g_string_hash): Add g_string_hash to
	go along with g_string_equal.

Tue Jun 27 12:40:23 EDT 2000  David A. Wheeler <dwheeler@dwheeler.com>

	* glib.h: Added g_string_equal for comparing GStrings;
	changed g_str_equal so it returns gboolean (instead of gint).

	* gstring.c: Modified GString implementation to support embedded
	ASCII NUL ('\0') characters, and implemented g_string_equal.

	* testglib.c tests/string-test.c: Added tests for g_string_equal
	and tests for proper handling of embedded ASCII NUL characters.
2000-06-29 20:09:36 +00:00
Owen Taylor
ada7427637 Fix
Wed Jun 28 22:52:00 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am (libglib_la_SOURCES): Fix
2000-06-29 02:53:12 +00:00
Tim Janik
09f8e937f2 define gstring in terms of gchar*. this typedef reflects the type name of
Fri Jun 23 17:20:26 2000  Tim Janik  <timj@gtk.org>

        * glib.h: define gstring in terms of gchar*. this typedef reflects
        the type name of the primitive G_TYPE_STRING in the gobject module.

Sat Jun 24 23:03:04 2000  Tim Janik  <timj@gtk.org>

        * gtype.[hc]: provide G_TYPE_CHAR, G_TYPE_UCHAR, G_TYPE_BOOLEAN,
        G_TYPE_INT, G_TYPE_UINT, G_TYPE_LONG, G_TYPE_ULONG, G_TYPE_FLOAT,
        G_TYPE_DOUBLE and G_TYPE_STRING fundamental types.
        added a GTypeValueTable* pointer to GTypeInfo structure for types
        to implement GValue handling functions.
        GTypeValueTable contains the following members:
          value_init(): initialize a GValue structure.
          value_free(): free GValue structure contents (optional).
          value_copy(): copy one GValue contents to another GValue structure of
          collect_type: varargs collection type for the first variable argument
          to be collected by collect_value().
          collect_value(): variable arguments collection function (optional).
          lcopy_type: varargs collection type for the first variable argument
          to be location copyied by lcopy_value().
          lcopy_value(): variable arguments location copy function (optional).
        g_type_value_table_peek(): new function to retrive the GTypeValueTable*
        for a type node. ValueTables get inherited from parent types, unless
        overridden through the GTypeInfo structure. internally, GTypeValueTable
        support means an added overhead of one pointer per static or used
        dynamic type node.
        g_type_add_class_cache_func(): provide a cache_func/data pair to be
        called  prior to a type nodes last_unref() function, this can be used
        to prevent premature class destruction. multiple installed cache_func()
        will be chained upon last_unref() untill one of them returns TRUE.
        the cache_func()s have to check the type id passed in to figure whether
        they actually wants to cache the class of this type (since any types are
        routed through the cache_func() chain).
        g_type_remove_class_cache_func(): remove a previously installed
        cache_func/data pair. the cache maintained by this function has to be
        clear when calling g_type_remove_class_cache_func() to avoid leaks.
        g_type_class_unref_uncached(): class unref function for cache_func()
        implementations, unreferences a class omitting the cache chain (and
        therefore unref->cache->unref->... loops).

        * gvaluetypes.[hc]: provide the value setters/getters for the primitive
        fundamental types boolean, char, uchar, int, uint, long, ulong, float,
        double and string.

        * gvalue.[hc]: provide G_TYPE_IS_VALUE() in terms of whether a
        GTypeValueTable is provided for this type.
        removed g_value_init_default(), g_value_validate(), g_value_defaults(),
        g_value_set_default() and g_values_cmp() as these are supplied by the
        GParamSpec API now.
        moved g_values_exchange() into the "implementation details" section,
        since it just provides the underlying functionality for
        g_value_convert().

        * gvaluecollector.h: renamed the varargs value container from
        GParamCValue to GTypeCValue as the value collection methods are
        supplied by the type system now.
        G_PARAM_COLLECT_VALUE() and G_PARAM_LCOPY_VALUE() got renamed to
        G_VALUE_COLLECT() and G_VALUE_LCOPY() and operate without a
        GParamSpec structure now.

        * genums.h: macros cleanups/fixes.

        * genum.c: provide G_TYPE_ENUM and G_TYPE_FLAGS type
        and assorted g_value_{s|g}et_{enum|flags}() implementations.

        * gobject.[hc]:
        provide G_IS_VALUE_OBJECT(), G_TYPE_OBJECT ValueTable methods
        and g_value_{s|g}et_object().

        * gparam.[hc]: reduced class to value_set_default(),
        value_validate() and values_cmp(). also parameters now need to fill
        in a GType value_type; field to indicate the GValue type they
        are handling. provide g_param_value_set_default(),
        g_param_value_defaults(), g_param_value_validate() and
        g_param_values_cmp().

        * gparamspecs.[hc]: got rid of the g_value_* functions and
        the G_IS_VALUE_* macros. adapted param spec implementations
        according to the GParamSpecClass changes.
2000-06-24 22:30:10 +00:00
Owen Taylor
0891c64816 Initial pass at adding unicode support functions. A few things still need
Wed Jun 21 12:09:03 2000  Owen Taylor  <otaylor@redhat.com>

	* gunicode.h gutf8.c guniprop.c gunidecomp.[ch] gunichartables.h
	Makefile.am glib.h: Initial pass at adding unicode support
	functions. A few things still need to be implemented, a bit
	of cleanup needs to be done, tests need to be added, and
	the docs need to be finished, but this should allow replacing
	most or all use of libunicode.
2000-06-21 16:11:21 +00:00
Tor Lillqvist
a1b8b951ef Rephrase the ChangeLog comment a bit. 2000-06-06 06:57:41 +00:00
Tor Lillqvist
700b6e5ff2 If we are watching the same fd several times (for different conditions,
2000-06-06  Tor Lillqvist  <tml@iki.fi>

* giowin32.c (g_io_channel_win32_pipe_readable): If we are
watching the same fd several times (for different conditions, with
different callbacks), check them all. Only call the callback for
G_IO_IN from here. (This bug popped up when a watch for
G_IO_ERR|G_IO_HUP was added to gimplib.)
2000-06-06 06:56:03 +00:00
Tor Lillqvist
88fd181eac Implement on Win32.
2000-05-30  Tor Lillqvist  <tml@iki.fi>

* gutils.c (g_locale_get_codeset): Implement on Win32.

* glib.def: Add g_get_codeset.

* tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
renamed to makefile.mingw*.
2000-05-30 20:46:03 +00:00
Owen Taylor
e0b5636031 Move the g_locale_get_codeset() up in the header file to correspond to to
Tue May 30 16:01:32 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.h gutils.c: Move the g_locale_get_codeset() up in the
	header file to correspond to to comments about memory
	management. Rename to g_get_codeset() to avoid
	polluting the g_locale_* namespace, which probably
	would have g_locale_get_codeset (GLocale *locale).
	Add a doc comment.
2000-05-30 20:05:23 +00:00
Owen Taylor
466305d0ca Add function to get the codeset name for the current locale.
Mon May 29 14:10:35 2000  Owen Taylor  <otaylor@redhat.com>

	* gutils.c (g_locale_get_codeset): Add function to get the
	codeset name for the current locale.

	* configure.in acconfig.h: Add check for nl_langinfo(CODESET);
2000-05-29 18:48:29 +00:00
Tim Janik
1fe02b28ad added argument assertments.
Fri May 19 11:39:29 2000  Tim Janik  <timj@gtk.org>


        * gutils.c (g_snprintf):
        (g_vsnprintf): added argument assertments.

        * gstring.c (g_string_assign): added argument assertments.
        (g_string_truncate): make len a guint.
2000-05-19 10:01:08 +00:00
Tim Janik
1e5d06d4ce fixed SIZEOF_LONG==4 assumption with ENABLE_MEM_CHECK, from Art Haas
Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>

        * gmem.c (g_free): fixed SIZEOF_LONG==4 assumption with
        ENABLE_MEM_CHECK, from Art Haas <ahaas@neosoft.com>.

        * gslist.c (g_slist_reverse): shut up compiler.

        * gscanner.c (g_scanner_get_token_ll): removed inline assignment.

        * garray.c: remove index>=0 checks for unsigned indices.

        * gmain.c (g_idle_prepare): timeout assignment fix.

        * gtree.c (g_tree_node_rotate_right): shut up compiler.
2000-05-19 08:18:29 +00:00
Tor Lillqvist
77866eaf9b makefile.mingw.in tests/makefile.mingw.in Rename makefile.cygwin(.in) to
2000-05-13  Tor Lillqvist  <tml@iki.fi>

* makefile.mingw.in
* tests/makefile.mingw.in
* build-dll: Rename makefile.cygwin(.in) to
makefile.mingw(.in), which better describes what it is. Move the
build of gmodule, gthread and gobject DLLs to makefiles in those
directories. Move resource file handling and build number bump to
build-dll, where it sits much cleaner.

* README.win32
* Makefile.am (EXTRA_DIST): Update accordingly.

* glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
implementations.

* glib.def: Add g_strcanon.

* gtree.c (g_tree_node_rotate_left): Remove unused variables.

* gwin32.c (g_win32_opendir): Remove unneeded statement.

gmodule:

* makefile.mingw.in: New file, with gmodule stuff
moved from ../makefile.mingw.in.

* Makefile.am: Add to EXTRA_DIST, and add rule to make makefile.mingw.

gobject:
* makefile.mingw.in
* gobject.def
* gobject.rc.in: New files, for Win32 (mingw) build.

* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
corresponding non-*.in files.

* gtype.h: (Win32:) Mark _g_type_fundamental_last for
export/import from DLL.

gthread:
* makefile.mingw.in: New file, with gthread stuff moved from
../makefile.mingw.in.

* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
2000-05-13 19:30:58 +00:00
Tim Janik
1df2ec98cb added gobject
Fri Apr 28 23:54:35 2000  Tim Janik  <timj@gtk.org>

        * setup things for a new sub-library libgobject:

        * Makefile.am (SUBDIRS): added gobject

        * glib-config.in: feature -lgobject.

        * configure.in (AC_OUTPUT): generate gobject/Makefile.

        * glib.m4 (AM_PATH_GLIB): feature gobject module.

        * glib.spec.in: added %{prefix}/lib/libgobject-1.3.so.*

Fri Apr 28 21:41:49 2000  Tim Janik  <timj@gtk.org>

        * glib.h: added G_STRLOC macro.
        G_STRUCT_OFFSET(): signedness corrections.
        (G_CSET_DIGITS): list 0-9.
        * gscanner.c (g_scanner_config_template): use G_CSET_DIGITS.

        * glib.h:
        * gstrfuncs.c:
        (g_strdown):
        (g_strup):
        (g_strreverse): return the modified string instead of void, so
        calls to these functions can be nested.
        (g_strcanon): new function, canonicalizes string according to
        a given character set.

Fri Apr 28 19:45:16 2000  Tim Janik  <timj@gtk.org>

        * gasyncqueue.c (g_async_queue_unref): get rid of an unused variable.
2000-05-12 15:23:16 +00:00
Owen Taylor
29d34de588 Print found version when test succeeds.
Wed May 10 19:52:44 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.m4: Print found version when test succeeds.
2000-05-11 00:23:45 +00:00
Tor Lillqvist
586d5b11a8 makefile.cygwin.in Include the common makefile snippet from
2000-05-04  Tor Lillqvist  <tml@iki.fi>

* makefile.cygwin.in
* tests/makefile.cygwin.in: Include the common makefile snippet
from ../build/win32.

Maybe CVSROOT/modules should be changed so that the 'build' module
is included within the glib module (and gtk+, and gimp, and maybe
others later), in the same way as the 'macros' module is included
in lots of GNOME CVS modules?
2000-05-04 19:51:48 +00:00
Tor Lillqvist
c4f0c6fd9b Add new functions. Add new object files. Add threadpool-test. No need to
2000-05-02  Tor Lillqvist  <tml@iki.fi>

* glib.def: Add new functions.
* makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
* tests/makefile.{cygwin,msc}.in: Add threadpool-test.
* gmodule-win32.c: No need to include <psapi.h>
2000-05-01 21:13:02 +00:00
Sebastian Wilhelmi
1418fe3a6d New File implementing an asynchronous queue to be used for asynchronous
2000-04-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gasyncqueue.c: New File implementing an asynchronous queue to be
	used for asynchronous inter-thread communication.

	* gthreadpool.c: New File implementing a thread pool to be used
	for distributing work among several threads.

	* glib.h: Added the type and function declarations for these two
	types.

	* tests/threadpool-test.c: New File implementing a test for the
	thread pool. This also checks the asynchronous queue underlying
	the thread pool.

	* tests/Makefile.am: Changed accordingly.
2000-04-28 12:24:53 +00:00
Sebastian Wilhelmi
f0e9f522c2 Look for both pthread_create and pthread_join in the thread library. Some
2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Look for both pthread_create and pthread_join in
	the thread library. Some systems define one of them, but not both
	in libc. Arghh. Now we really start a thread and join it later and
	check, whether the thread to actually ran.
2000-04-26 13:03:49 +00:00
Sebastian Wilhelmi
86627d9c7a ChangeLog update: This fixes Bug #8267. Thanks to Juan Toledo
ChangeLog update:
	This fixes Bug #8267. Thanks to Juan Toledo
        <toledo@users.sourceforge.net> for + pointing that out.
2000-04-26 08:48:24 +00:00
Sebastian Wilhelmi
d5fccfb0eb Changed the 'value' parameter of g_cache_remove from gpointer to
2000-04-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, gcache.c, gtree.c: Changed the 'value' parameter of
	g_cache_remove from gpointer to gconstpointer. Dito for the 'key'
	parameter of g_tree_lookup and g_tree_remove and the 'data'
	parameter of g_tree_serach. This function now takes a function of
	type GCompareFunc instead of GSearchFunc.

	* glib.h: Removed declaration of GSearchFunc.

	* gmem.c: s/GSearchFunc/GCompareFunc/.
2000-04-26 08:42:19 +00:00
Tor Lillqvist
7bd3771d3d Update entry point list.
2000-04-19  Tor Lillqvist  <tml@iki.fi>

* glib.def: Update entry point list.
2000-04-19 18:40:31 +00:00
Sebastian Wilhelmi
1383e5b642 Made the debugging G_TRYLOCK call also work for compilers with funnt
2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h (G_TRYLOCK): Made the debugging G_TRYLOCK call also work
	for compilers with funnt G_STMT_(START|END) macros.

	* tests/thread-test.c: Implemented a check for that.
2000-04-19 09:29:19 +00:00
Sebastian Wilhelmi
e366512775 Changed the win32 part of this function to be thread safe and to make the
2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_getenv): Changed the win32 part of this function to
	be thread safe and to make the returned environment string
	persistent to match the UN*X behavior. This is again a response to
	Bug #8983.

	* glib.h (G_LOCK_NAME): Removed parentheses around the lock name,
	as that seems to cause problems for some compilers and really
	isn't necessary.
2000-04-19 08:43:52 +00:00
Tim Janik
70ce489b36 make sure that scanner->config->cset_skip_characters is "" instead of
Wed Apr 19 08:32:32 2000  Tim Janik  <timj@gtk.org>

        * gscanner.c (g_scanner_new): make sure that
        scanner->config->cset_skip_characters is "" instead of NULL, so we
        don't segfault further on.
2000-04-19 06:49:39 +00:00
Sebastian Wilhelmi
059f5b9416 Changed the 'data' parameters from gpointer to gconstpointer for the
2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, glist.h, gslist.h: Changed the 'data' parameters from
	gpointer to gconstpointer for the functions
	g_(list|slist)_(remove|find|find_custom|index), as they do not
	change this parameter. This fixes bug #4836.
2000-04-18 14:01:33 +00:00
Sebastian Wilhelmi
7c467669cc Changed comment for g_getenv to reflect, that the returned memory must not
2000-04-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h: Changed comment for g_getenv to reflect, that the
	returned memory must not be freed. Fixes Bug #8983.
2000-04-18 13:00:35 +00:00
Sebastian Wilhelmi
8c90d7766b Add configure test for garbage collector friendliness for GLib. If
2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, acconfig.h: Add configure test for garbage
	collector friendliness for GLib. If enabled, ENABLE_GC_FRIENDLY
	will be defined.

	* garray.c, ghash.c, glist.c, gmain.c, gmem.c, gnode.c, gqueue.c,
	gslist.c, gtree.c: If ENABLE_GC_FRIENDLY is defined, NULLify all
	memory released by the user, but cached by GLib. This lets a
	garbage collector have a more correct view of the actually used
	memory.
2000-04-17 13:23:27 +00:00
Sebastian Wilhelmi
03f9d485c1 Added g_(array|ptr_array|byte_array)_sized_new functions, that reserve a
2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* garray.c, glib.h: Added g_(array|ptr_array|byte_array)_sized_new
	functions, that reserve a certain amount of memeory for the array
	at creation time to avoid reallocation. Fixes bug #6707 from
	Charles Kerr <ckerr@osserver1.nssl.noaa.gov>.
2000-04-17 10:59:46 +00:00
Sebastian Wilhelmi
028a71701c Fixed bug. Thanks to Marko Kreen <marko@l-t.ee> for reporting that.
2000-04-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* grand.c (g_rand_new): Fixed bug. Thanks to Marko Kreen
	<marko@l-t.ee> for reporting that.
2000-04-07 11:44:43 +00:00
Tor Lillqvist
d6f6134103 Tell about using the mingw-based gcc, which is much easier than modifying
2000-03-26  Tor Lillqvist  <tml@iki.fi>

* README.win32: Tell about using the mingw-based gcc, which is
much easier than modifying the cygwin gcc to product mingw code
for the msvcrt runtime.

* makefile.cygwin.in (WIN32APIHEADERS): Kludge to make it work
with a "pure" mingw gcc, too.
2000-03-26 20:56:07 +00:00
Sebastian Wilhelmi
9698f728c6 typo alarm
typo alarm
2000-03-24 15:37:24 +00:00
Sebastian Wilhelmi
fe2e948e0b Made GArray behave correct. Now zero_terminated really means, that the
2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* garray.c: Made GArray behave correct. Now zero_terminated really
	means, that the element array->data[array->len] exists and is
	zeroed, and clear means that any unassigned elements obtained
	through g_array_set_size (the only way to get unassigned elements
	AFAICT) are zeroed. Added some macors to mak the code more
	obvoius. Also made GPtrArray zero elements after
	g_ptr_array_set_size. This is done in a portbale way (assignment
	of NULL instead of just memsetting it to zero), though that might
	be more portability than we actually want.
2000-03-24 15:36:03 +00:00
Sebastian Wilhelmi
7cd50026f1 Added various win32 related *.in files to EXTRA_DIST to let 'make
2000-03-24  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* Makefile.am, gthread/Makefile.am, gmodule/Makefile.am,
	tests/Makefile.am: Added various win32 related *.in files to
	EXTRA_DIST to let 'make distcheck' procude all the corresponding
	files, which it silently fails to do currently.
2000-03-24 12:56:56 +00:00
Sebastian Wilhelmi
ac4abbba3e After finding the right thread library (containing e.g. pthread_create) we
2000-03-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: After finding the right thread library (containing
	e.g. pthread_create) we now search for the right realtime library
	(containing e.g. sched_get_priority_max). Makes the output of the
	thread related libraries correct.

	* gtimer.c (g_usleep): The current implementation of g_usleep
	(simply calling select) doesn't work reliable for multi-threaded
	programs on some platforms (bad omen for the main loop....), so I
	changed the implementation for thread-using programs to wait for a
	GCond for the specified amount of time (NB: sleep and usleep are
	not MT-safe in general, because they often use signals).
2000-03-23 16:23:50 +00:00
Owen Taylor
e0786b05e6 Fix indentation.
Wed Mar 22 16:49:57 2000  Owen Taylor  <otaylor@redhat.com>

	* gmem.c (g_mem_chunk_area_compare): Fix indentation.
2000-03-22 21:59:16 +00:00
Elliot Lee
916d4db104 gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in comparing two
gmem.c (g_mem_chunk_area_compare): Fix 64-bitness bug in comparing two
pointers more than 4G apart.
2000-03-22 21:41:45 +00:00
Tor Lillqvist
142219f278 Move Win32-only includes after inclusion of glib.h, so that G_OS_WIN32 is
2000-03-22  Tor Lillqvist  <tml@iki.fi>

* gutils.c: Move Win32-only includes after inclusion of glib.h, so
that G_OS_WIN32 is defined.

* glibconfig.h.win32.in: Add GSystemThread.
2000-03-22 20:46:19 +00:00
Sebastian Wilhelmi
5a470fc8d7 better ChangeLog Entry
better ChangeLog Entry
2000-03-22 15:18:57 +00:00
Sebastian Wilhelmi
837cbbdf8d Ok, Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me,
2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_current_dir): Ok, Marcus Brinkmann
	<Marcus.Brinkmann@ruhr-uni-bochum.de> convinced me, that 128 KB
	path length might not be enough for the HURD. So I changed the
	loop to at least avoid an integer overflow, which could happen at
	beyond 2GB size ;-)
2000-03-22 15:18:11 +00:00
Sebastian Wilhelmi
762a2befa4 Test for sched_yield as the native yield function first. Corrected typo
2000-03-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Test for sched_yield as the native yield function
	first. Corrected typo g_thread_sleep -> g_usleep. Corrected
	message for the pthread_create test. Negative Priorities are
	allowed (and used on Solaris), so consider
	sched_get_priority_min failed only if it returns -1, not <0. Check
	for sched_get_priority_min also in -lrt, if not found in -lpthread
	alone and add -lrt to G_THREAD_LIBS then. Remove special case
	handling of priorities for older solaris versions and posix
	threads. Thanks to Wan-Teh Chang <wtc@netscape.com> for suggesting
	some of those changes.

	* config.guess, config.sub, ltconfig, ltmain.sh:
	Upgrade to libtool 1.3.4.
2000-03-22 10:04:29 +00:00
Sebastian Wilhelmi
66034865b1 always define G_GNUC_EXTENSION, even when not needed by GLib. That's
2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, configure.in, gutils.h: always define G_GNUC_EXTENSION,
	even when not needed by GLib. That's actually also the way, the
	GLib reference manual describes that macro. Therefore I had to
	remove the lonesome #include <glibconfig.h> in gutils.c, which
	doesn't seem to be needed there however. This change should make
	Ben Gertzfield <che@debian.org> happy.

	* gutils.c: Furthermore two warnings in gutils.c were voided,
	which crept in due to my last change.
2000-03-21 15:21:41 +00:00
Sebastian Wilhelmi
cdb6195572 Allocate only up to 128KB for a pathname. While this is an arbitrary value
2000-03-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_current_dir): Allocate only up to 128KB for a
	pathname. While this is an arbitrary value just like 2048, it
	seems to be enough (after all, even 4GB is an arbitrary value).
2000-03-21 13:46:59 +00:00
Sebastian Wilhelmi
1266a4b88a Warn in case of an error during the call to poll(2). Closes Bug#7564 as
2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gmain.c (g_main_poll): Warn in case of an error during the call
	to poll(2). Closes Bug#7564 as reported by David Helder
	<dhelder@umich.edu>.
2000-03-20 16:19:58 +00:00
Sebastian Wilhelmi
2c4b4788fd Make g_get_current_dir work on systems with unlimited pathname length like
2000-03-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_current_dir): Make g_get_current_dir work on
	systems with unlimited pathname length like the HURD (It worked
	there before, but only for pathes shorter than 2048). Closes
	Bug#4525 as reported by Marcus Brinkmann
	<Marcus.Brinkmann@ruhr-uni-bochum.de>.
2000-03-20 16:01:41 +00:00
Sebastian Wilhelmi
692ce67892 Interpret EINTR as G_IO_ERROR_AGAIN.
2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* giounix.c (g_io_unix_write, g_io_unix_read): Interpret EINTR as
	G_IO_ERROR_AGAIN.
2000-03-20 13:19:20 +00:00
Sebastian Wilhelmi
5e7134375e Added the missing POSIX_NO_YIELD and POSIX_NO_PRIORITIES warning messages.
2000-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Added the missing POSIX_NO_YIELD and
	POSIX_NO_PRIORITIES warning messages.

	* configure.in: Use AC_TRY_RUN instead of AC_TRY_LINK, to test for
	real thread support. On solaris pthread_create can be linked to
	even in -lc, but it doesn't work then.

	* configure.in: Don't use priorities for threads, when the
	minimal/maximal priorities couldn't be determined at configure
	time.

	* configure.in, gthread.c: Always define GSystemThread in
	glibconfig.h to represent a system thread.

	* configure.in: Do not use native recursive threads, when
	possibe. We use some features, that they do not expose (namely the
	depth counter).

	* glib.h, gthread.c: Redefined GStaticRecMutex. The functions are
	now implemented in a different way, which should be way
	faster. Alsothere are now functions g_static_rec_mutex_unlock_full
	and g_static_rec_mutex_lock_full to leave/enter a recursive mutex
	completly.

	* gthread.c (g_thread_self): Do not test the system_thread to be
	non-zero to speed things up.

	* gthread.c (g_mutex_init): Therefore set the system_thread of the
	main thread here.

	* tests/thread-test.c: Rerun all tests once again, but this time
	we fool the system into thinking, that the available thread system
	is not native, but userprovided.

	* gthread/gthread-posix.c: Don't use priorities for threads,
	when the minimal/maximal priorities couldn't be determined at
	configure time.

	* gthread/gthread-posix.c: Don't check for errors, when
	setting the scope of a tread to system, as some posix
	implementations can't do that and we don't want the thing to
	fail because of that.
2000-03-17 14:49:59 +00:00
Sebastian Wilhelmi
3540769b17 We want the next and prev pointer of the inserted link to be NULL.
2000-03-13  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gqueue.c (g_queue_push_tail_link, g_queue_push_head_link): We
	want the next and prev pointer of the inserted link to be NULL.
2000-03-13 16:49:40 +00:00
Sebastian Wilhelmi
8fded00959 Another small change to the pthread_.. search pattern. Should work *now*
2000-03-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Another small change to the pthread_.. search
	pattern. Should work *now* for AIX.
2000-03-06 09:09:57 +00:00
Tor Lillqvist
d778d016b7 New function that returns the message string for a Win32 error code.
2000-03-04  Tor Lillqvist  <tml@iki.fi>

* gwin32.c (g_win32_error_message): New function that returns the
message string for a Win32 error code.

* glib.h: Declare it.

* glib.def: Export it, plus g_node_copy.

* gmodule-win32.c: Call g_win32_error_message() to get the error
message strings.

* libgplugin_a.c
* libgplugin_b.c
* gmodule.c: Remove LibMain functions that were needed by LCC,
which is not a supported compiler.

* testgmodule.c (main): Test for G_MODULE_IMPL ==
G_MODULE_IMPL_WIN32, not G_OS_WIN32.

* gmoduleconf.h.win32: Remove LCC stuff from here, too.
2000-03-03 09:36:32 +00:00
Sebastian Wilhelmi
ead3a8c0c9 Make the search for pthread_attr_... prototypes find names at the start of
2000-03-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Make the search for pthread_attr_... prototypes
	find names at the start of a line also, like it is on AIX. Thanks
	to Valdis Kletnieks <Valdis.Kletnieks@vt.edu> for the info.
2000-03-03 09:36:32 +00:00
Tim Janik
db8baf6978 minor optimization.
Wed Mar  1 10:39:39 2000  Tim Janik  <timj@gtk.org>

        * gslist.c (g_slist_reverse): minor optimization.

        * testglib.c (g_node_test): added a couple of tests for
        g_node_copy().

        * glib.h:
        * gnode.c (g_node_copy): new function to copy subtrees,
        supplied by dbsears@ix.netcom.com.
        changed iterator to walk the children list backwards, so
        we get down from O(n^2) to O(n).

        * gnode.c (g_node_first_sibling): applied patch from
        dbsears@ix.netcom.com to optimize access if node->parent
        is present.

        * gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
        assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
        thus breaks the original code.

        * merged changes from 1.2.7.

Sat Feb 19 19:43:29 2000  Tim Janik  <timj@gtk.org>

        * testgmodule.c (main): added test to check that not yet bound symbols
        in shared libraries of the main module are retrievable, from David Gero.

Fri Jan 28 11:37:41 2000  Owen Taylor  <otaylor@redhat.com>

        Bug #4156 - Changes vaguely modelled after Scott Gifford's patch

        * gtimer.c (g_timer_elapsed): Never report negative times -
        clip times to 0.

        * gmain.c (g_timeout_prepare): Guard against unexpected
        clock shifts by never setting a timeout of more than
        data->interval msecs.
2000-03-01 09:44:10 +00:00
Tor Lillqvist
ed2628d638 Add new functions.
2000-02-27  Tor Lillqvist  <tml@iki.fi>

* glib.def: Add new functions.
2000-02-27 10:21:30 +00:00
Tor Lillqvist
0f4173ba4c Add a missing step to the setup instructions for gcc-2.95.2. Thanks to
2000-02-23  Tor Lillqvist  <tml@iki.fi>

* README.win32: Add a missing step to the setup instructions for
gcc-2.95.2. Thanks to Arnaud Charlet.

* glib.def: Add missing entry point.
2000-02-23 20:09:16 +00:00
Sebastian Wilhelmi
e6c2a1cec1 Changed GCC version test to also accept major versions > 2. Thanks to Ben
2000-02-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Changed GCC version test to also accept major
	versions > 2. Thanks to Ben Gertzfield <che@debian.org> for
	pointing this out.
2000-02-18 09:57:19 +00:00
Havoc Pennington
cf24ff7121 changed g_str_hash() to a 31 bit version based on a submission by Karl
Thu Feb 17 12:53:44 2000  Tim Janik  <timj@gtk.org>

        * gstring.c: changed g_str_hash() to a 31 bit version based on
        a submission by Karl Nelson and hand optimized ad absurdum by
        various people ;)

        * gstring.c: applied patch from havoc for new gstring functions,
        added some more sanity checks, coding style fixups.

2000-02-13  Havoc Pennington  <hp@pobox.com>

        * tests/string-test.c (main): Add tests for the new GString
        features

        * testglib.c (main): Add tests for the new GString features

        * gstring.c (g_string_insert_len): New function; insert
        a given length of string at a given position.
        (g_string_append): reimplement in terms of g_string_insert_len
        (g_string_append_len): new function
        (g_string_insert_c): accept -1 for "pos" arg to mean "append"
        (g_string_append_c): reimplement in terms of g_string_insert_c
        (g_string_prepend): reimplement in terms of g_string_insert_len
        (g_string_prepend_len): new function
        (g_string_prepend_c): reimplement in terms of g_string_insert_c
        (g_string_insert): reimplement in terms of g_string_insert_len

        * glib.h: Declare g_string_insert_len, g_string_append_len,
        g_string_prepend_len
2000-02-17 11:57:35 +00:00
Tim Janik
b97261860c wtf??? someone destroyed the configure.in, reverting to an older version
Sun Feb 13 08:16:47 2000  Tim Janik  <timj@gtk.org>

        * configure.in: wtf??? someone destroyed the configure.in, reverting to
        an older version from Feb 4 which apears to still work.
2000-02-13 07:18:23 +00:00
Tor Lillqvist
726b3de454 Move to corresponding subdirectories.
2000-02-07  Tor Lillqvist  <tml@iki.fi>

* gmodule.rc.in gthread.rc.in: Move to corresponding subdirectories.

* Makefile.am
* gmodule/Makefile.am
* gthread/Makefile.am: Change accordingly.

* makefile.cygwin: Corresponding changes, some cleanup.
2000-02-07 21:22:30 +00:00
Tor Lillqvist
2701653ce5 New files, for putting version info in the DLLs on Win32.
2000-02-05  Tor Lillqvist  <tml@iki.fi>

* glib.rc.in gmodule.rc.in gthread.rc.in: New files, for putting
version info in the DLLs on Win32.

* Makefile.am: Generate corresponding *.rc files and distribute
them.

* makefile.cygwin.in: Add rules to automatically bump a "build
number" in the version info in the rc files each time the DLL is
built. But do this only for the person who releases binaries. If
others build the DLLs, the build number is set to zero.
2000-02-04 13:57:46 +00:00
Tim Janik
bbb532d59c return stolen data from g_datalist_id_remove_no_notify() and
Fri Feb  4 19:36:05 2000  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: return stolen data from g_datalist_id_remove_no_notify()
        and g_dataset_id_remove_no_notify() to avoid second lookup for common
        use.
2000-02-03 20:43:00 +00:00
Tor Lillqvist
c22cf34e92 glib.h New functions for conversion between UTF-8 and the encoding
2000-02-01  Tor Lillqvist  <tml@iki.fi>

* glib.h
* gstrfuncs.c (g_filename_to_utf8, g_filename_from_utf8): New
functions for conversion between UTF-8 and the encoding expected
by C runtime functions like open() and stat(), and returned by
readdir().

Implement them on Win32 where we use the system "ANSI" codepage,
which might be single-byte or double-byte. On Unix, just skip the
issue for now and provide dummy implementations that return a copy
of the argument.

* README.win32
* build-dll
* glib.def: Minor updates.
2000-02-02 23:39:32 +00:00
Tim Janik
ce4d6765c9 s/current_time/dispatch_time/ for the dispatch() handlers. refetch the
Wed Jan 26 05:24:38 2000  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmain.c: s/current_time/dispatch_time/ for the dispatch() handlers.
        refetch the current time after invocation of poll() to cover up for
        the time spent in that function call.
2000-01-26 04:29:06 +00:00
Owen Taylor
948f64a183 Added G_N_ELEMENTS macro to determine the number of elements in an array.
Fri Jan 21 10:18:24 2000  Owen Taylor  <otaylor@redhat.com>

	* glib.h (G_N_ELEMENTS): Added G_N_ELEMENTS macro to determine
	the number of elements in an array.
2000-01-21 15:27:39 +00:00
Tim Janik
0b2c4e4f5a correctly fetch the current locale, fix from owen.
Sun Jan  9 13:28:36 2000  Tim Janik  <timj@gtk.org>

        * gstrfuncs.c (g_strtod): correctly fetch the current locale,
        fix from owen.
2000-01-09 10:58:55 +00:00
Tor Lillqvist
bc5baaa76d Use FormatMessage to translate system error codes into textual messages.
1999-12-16  Tor Lillqvist  <tml@iki.fi>

* gmodule/gmodule-win32.c: Use FormatMessage to translate system
error codes into textual messages.
1999-12-16 20:29:12 +00:00
Sebastian Wilhelmi
c54892b11b This of course should return TRUE in a program with a thread-disabled
1999-11-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h (G_TRYLOCK): This of course should return TRUE in a
	program with a thread-disabled GLib.
1999-11-25 13:47:55 +00:00
Tor Lillqvist
430428d1c9 g_strjoin was missing.
1999-11-18  Tor Lillqvist  <tml@iki.fi>

* glib.def: g_strjoin was missing.
1999-11-18 22:15:51 +00:00
Sebastian Wilhelmi
760a7ceef2 Renamed GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
1999-11-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * acconfig.h, config.h.win32.in, configure.in: Renamed
        GLIB_SIZEOF_PTHREAD_T to GLIB_SIZEOF_SYSTEM_THREAD to reflect
        changed meaning.

        * configure.in: Cope with systems, that have a pthread_t type,
        that is not a pointer. Hint from Karl Nelson
        <kenelson@ece.ucdavis.edu>. Define GLIB_SIZEOF_SYSTEM_THREAD to 4
        for Solaris. Cope with systems, that have no default mutex
        initialize, like obviously most DCE systems.

        * glib.h, gthread.c: Changed the prototype of thread_create and
        thread_self to return the system thread into provided memory
        instead of a return value. This is necessary, as HPUX has a
        pthread_t, that is bigger than the biggest integral type there.

        * gthread.c: system_thread is no longer a pointer, but an memory
        area of size GLIB_SIZEOF_SYSTEM_THREAD. Changed the
        zeroinitialization and the tests for zeroness accordingly.
1999-11-16 10:30:25 +00:00
Tor Lillqvist
5a298a91cb Very minor stuff. 1999-11-14 21:48:31 +00:00
Sebastian Wilhelmi
b5ebece1fb Forgot to commit ChangeLog. Here we go. (I'm still learning, how to
use PCL-CVS;-)
1999-11-09 14:46:56 +00:00
Sebastian Wilhelmi
6d441ca5af Make the test for getpwuid_r work on newer AIX versions, too. Still works
1999-11-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * configure.in: Make the test for getpwuid_r work on newer AIX
        versions, too. Still works on Solaris and Linux. Patch from Craig
        Rodrigues <rodrigc@mediaone.net>.
1999-11-08 10:02:17 +00:00
Tor Lillqvist
926d025819 Look at env vars LC_ALL, LC_CTYPE and LANG first. Some refinements to the
1999-11-08  Tor Lillqvist  <tml@iki.fi>

* gwin32.c (g_win32_getlocale): Look at env vars LC_ALL, LC_CTYPE
and LANG first. Some refinements to the sublanguage logic.
1999-11-08 09:49:10 +00:00
Tor Lillqvist
862d34872d Add gwin32 object. Add rule to make .i (preprocessed source) files.
1999-11-04  Tor Lillqvist  <tml@iki.fi>

* makefile.{cygwin,msc}.in: Add gwin32 object. Add rule to make .i
(preprocessed source) files.
1999-11-04 22:49:19 +00:00
Tor Lillqvist
f30c65e0fb Distribute also gwin32.c 1999-11-01 20:47:30 +00:00
Tor Lillqvist
6c5ec62da2 glib.h Rename Win32-only functions from gwin_* to g_win32_* to match the
1999-11-01  Tor Lillqvist  <tml@iki.fi>

* glib.h
* glib.def: Rename Win32-only functions from gwin_* to g_win32_*
to match the GLib naming conventions.

* gutils.c
* gwin32.c
* testglib.c
* makefile.{cygwin,msc}: Move the Win32-only functions to the new
file gwin32.c
1999-11-01 20:46:44 +00:00
Tor Lillqvist
5bca288054 Use the fix for the g_cache_remove bug from the 1.2 branch instead. 1999-10-31 23:03:45 +00:00
Tor Lillqvist
30cc3ed1fe Don't crash if removing a nonexistent value.
1999-10-31  Tor Lillqvist  <tml@iki.fi>

* gcache.c (g_cache_remove): Don't crash if removing a nonexistent
value.

* gutils.c (gwin_getlocale): New Win32-specific function, returns
a Unixish current locale string (en, zh_TW etc).

* glib.h: Declare it.

* glib.def: Export it.

* testglib.c: Test it.

* gmessages.c (Win32: ensure_stdout_valid): Some improvements,
make sure we don't call AllocConsole several times, which I think
has happened.
1999-10-31 12:15:34 +00:00
Sebastian Wilhelmi
a2760140c8 remove g_dataset_global_lock around destroy() notification here as well.
Sun Oct 17 18:11:40 1999  Tim Janik  <timj@gtk.org>

        * gdataset.c (g_data_set_internal): remove g_dataset_global_lock around
        destroy() notification here as well.

1999-10-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * gdataset.c (g_datalist_clear_i): Avoid Freezing, when g_datalist
        is called recursivly. Reported by Ola Andersson <rand@ling.umu.se>.
1999-10-17 16:04:49 +00:00
Tim Janik
9a65b20e07 removed useless g_string(x) macro that cluttered the namespace and was
Tue Oct 12 14:17:12 1999  Tim Janik  <timj@gtk.org>

        * glib.h: removed useless g_string(x) macro that cluttered the namespace
        and was just a poor wrapper around the cpp '#' symbol, use #x if you
        need to work around this.
        added new macro G_STRINGIFY(arg) that will convert arg to a string,
        no matter whether it contains macros or not.
1999-10-14 22:04:24 +00:00
Tor Lillqvist
52ad8a9c2a Define the new GLIB_SIZEOF_* constants here, too.
1999-10-12  Tor Lillqvist  <tml@iki.fi>

* config.h.win32.in: Define the new GLIB_SIZEOF_* constants here,
too.

* glib.h: Small Win32 comments improvement.
1999-10-12 20:46:13 +00:00
Tim Janik
30a1e1addb completly new implementation for printf string upper bounds calculation.
Tue Oct 12 12:16:12 1999  Tim Janik  <timj@gtk.org>

        * gmessages.c (g_printf_string_upper_bound): completly new implementation
        for printf string upper bounds calculation.
        we handle all glibc 2.1 format specifiers now, except for positional
        parameters (%nn$...) and wide char strings, plus some obscure upper
        case variants of the standard conversions. this fixes a lot of
        bugs in the old code, i.e.
        - NULL format strings
        - floats with exponents >+24
        - %G
        - precision specifications in general
        - negative field widths
        - %p for SIZEOF_VOID_P > 4 platforms
        we now issue warnigns in places where the old code would have
        caused buffer overruns anyways. warnings are suppressed when invoked
        from glogv(), to avoid infinite recursions if someone passes a log
        message that comes with really obscure format specifications.

Tue Oct 12 11:49:00 1999  Tim Janik  <timj@gtk.org>

        * gstrfuncs.c: nuked old g_printf_string_upper_bound() version.

Tue Oct 12 03:34:40 1999  Tim Janik  <timj@gtk.org>

        * glib.h: added GFloatIEEE754 and GDoubleIEEE754 unions to access sign,
        mantissa and exponent of IEEE floats and doubles (required by the new
        version of g_printf_string_upper_bound). the unions are endian specific,
        we handle G_LITTLE_ENDIAN and G_BIG_ENDIAN as of currently. ieee floats
        and doubles are supported (used for storage) by at least intel, ppc and
        sparc, reference:
        http://twister.ou.edu/workshop.docs/common-tools/numerical_comp_guide/ncg_math.doc.html

Mon Oct 11 18:01:49 1999  Tim Janik  <timj@gtk.org>

        * configure.in: added additional checks to figure sizes of size_t,
        ptrdiff_t and intmax_t (required by g_printf_string_upper_bound).
1999-10-12 12:08:13 +00:00
Manish Singh
acbe34e51a blah. use G_WITH_CYGWIN instead of G_HAVE_CYGWIN
-Yosh
1999-10-06 19:45:04 +00:00
Tor Lillqvist
1dc5f94cfa Use G_OS_WIN32.
* tests/string-test.c tests/dirname-test.c: Use G_OS_WIN32.

* glib.def: Add g_thread_use_default_impl.
1999-10-05 16:21:07 +00:00
Tor Lillqvist
374c870b96 Drop the mapping of POSIX function names to the underscored versions, it's
* glib.h: (Win32) Drop the mapping of POSIX function names to the
underscored versions, it's unnecessary after all. With MSVC we get
them from oldnames.lib, with gcc-2.95 and mingw32 from
-lmoldname-msvc. Add comment about what headers to include for
prototypes.
1999-10-05 16:05:38 +00:00
Tor Lillqvist
7359af948d Don't define WIN32 and NATIVE_WIN32.
1999-10-05  Tor Lillqvist  <tml@iki.fi>

* glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.

* gerror.c (g_on_error_query): (Win32) Slightly more verbosity.

* build-dll: Don't strip.

* gmodule.h: (Win32) Use __declspec(dllexport) in G_MODULE_EXPORT
only with gcc.
1999-10-04 23:04:34 +00:00
Manish Singh
65ef92cea4 use G_HAVE_CYGWIN in favor of G_OS_FEATURE_CYGWIN
-Yosh
1999-10-04 02:48:10 +00:00
Manish Singh
7ea73a0199 G_OS_FOO #defines. I *think* I got the cygwin and beos stuff right, but
I haven't tested it. The respective porters should fix any screwups

-Yosh
1999-10-04 02:32:50 +00:00
Tim Janik
4944d4df46 define NULL as (0L) if __cplusplus is defined, to avoid "ANSI C++ forbids
Wed Sep 22 01:53:18 1999  Tim Janik  <timj@gtk.org>

        * glib.h (NULL): define NULL as (0L) if __cplusplus is defined, to
        avoid "ANSI C++ forbids implicit conversion from `void *' in argument
        passing" errors upon NULL usage in C++ programs (gcc-2.95 is on crack
        for erroring out on this, instead of just issueing a warning).

        * glib.h (g_trash_stack_pop): use uncasted NULL again.
1999-09-21 23:55:19 +00:00
Tim Janik
ddfc68fc98 applied patch from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem
Fri Sep 17 10:24:45 1999  Tim Janik  <timj@gtk.org>

        * gmem.c (g_mem_chunk_compute_size) (g_mem_chunk_new): applied patch
        from Soeren Sandmann <sandmann@daimi.au.dk>, to force mem chunk's area
        sizes to be a multitiple of atom_size, and to eliminate the MAX_MEM_AREA
        restriction of 65536 bytes. we also catch cases where users pass an area
        size < atom size with a return_if_fail statement now (which is ok,
        because previously this lead to memory corruption anyways).
1999-09-17 09:02:48 +00:00
Tim Janik
2a6f3bd69a add explicit (GTrashStack*) cast for NULL pointer to cure ANSI C++ error.
Thu Sep 16 13:19:54 1999  Tim Janik  <timj@gtk.org>

        * glib.h (g_trash_stack_pop): add explicit (GTrashStack*) cast for NULL
        pointer to cure ANSI C++ error.
1999-09-17 06:03:09 +00:00
Tim Janik
6072e65caf in case we have to abort the program, debugging is enabled and we are not
Mon Sep 13 23:25:59 1999  Tim Janik  <timj@gtk.org>

        * gmessages.c (g_logv): in case we have to abort the program,
        debugging is enabled and we are not called recursively, try
        to abort with raise (SIGTRAP) first, so developers may ignore
        certain failure conditions during debugging stage.
1999-09-13 22:17:27 +00:00
Tim Janik
ebeb32f252 added --export-dynamic so we can load dynmic modules, (required, according
Thu Aug 26 15:09:36 1999  Tim Janik  <timj@gtk.org>

        * Makefile.am:
        * gmodule/Makefile.am:
        * gthread/Makefile.am: added --export-dynamic so we can load dynmic
        modules, (required, according to the libtool 1.3.3 docu).
1999-08-26 13:09:50 +00:00
Sebastian Wilhelmi
e435032d6e Use /dev/urandom, as it doesn't block, which /dev/random might do. Do not
1999-07-23  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* grand.c (g_rand_new): Use /dev/urandom, as it doesn't block,
	which /dev/random might do. Do not XOR the time, when getting the
	seed form /dev/urandom, as this is good itself. Prevent the
	initial seed from being zero, which causes the PRNG to produce
	only zeros. Hints from Colin Plumb <colin@pgp.com>.
1999-08-19 08:32:03 +00:00
Tor Lillqvist
80c44ef391 Add a cast.
* glib.h (g_trash_stack_push): Add a cast.

	* gslist.c
	* glist.c: Make the inline functions static inline, and add
	separate extern wrappers. Not all compilers produce callable entry
	points for inline functions, even if gcc does.
1999-08-17 17:41:01 +00:00
Tim Janik
9c53053abe eliminate memset() call, since string.h has not neccessarily been included
Sun Aug 15 02:47:14 1999  Tim Janik  <timj@gtk.org>

        * glib.h (g_trash_stack_pop): eliminate memset() call, since string.h
        has not neccessarily been included prior to glib.h.

Mon Aug  2 21:03:10 1999  Tim Janik  <timj@gtk.org>

        * configure.in: added --enable-msg-prefix option.

        * gmessages.c (g_log_default_handler): feature "prg_name (pid:%u): "
        if --enable-msg-prefix was selected (use "(process:%u): " if
        g_get_prgname () returns NULL, along the lines of g_on_error_query).
1999-08-15 00:58:48 +00:00
Tor Lillqvist
1c6c7f7489 glib.h gstrfuncs.c Rename g_strccpy to g_strcompress and g_strecpy to
* glib.h
	* gstrfuncs.c
	* tests/strfunc-test.c: Rename g_strccpy to g_strcompress and
	g_strecpy to g_strescape per Tim Janik's suggestion. Dropped the
	destination parameter, always g_malloc a new string.  Fix bug in
	g_strcompress, octal digits were gobbled up without limit, should
	use max three.

	Sources that use g_strescape must have ifdefs to be compilable
	both with GLib 1.2 and 1.3.
1999-08-02 23:16:32 +00:00
Manish Singh
4877766d0e glib.h the #define for g_strescape interfered with the compilation of the
* glib.h
* gstrfuncs.c: the #define for g_strescape interfered with the
compilation of the function, so just remove the function and
note that it's deprecated in the header

-Yosh
1999-08-01 00:54:14 +00:00
Tor Lillqvist
1146c6fbb3 New functions.
* gstrfuncs.c (g_strccpy, g_strecpy): New functions.

	* glib.h: Declare and document them. Define the deprecated
	g_strescape as a macro that calls g_strecpy.

	* tests/strfunc-test.c (main): Test them.

	* makefile.{cygwin,msc}.in
	* tests/makefile.{cygwin,msc}.in: Remove gstack and its test
	program.

	* glib.def: Additions and removals.

	* README.win32: Improve gcc build instructions.

	* build-dll: Also build import library for MSVC.
1999-07-31 21:45:21 +00:00
Tim Janik
87c7aeb93b 18:36. incorporated proposed cleanups from gtk-devel-list.
Sat Jul 24 20:11:35 1999  Tim Janik  <timj@gtk.org>

        * merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
        * incorporated proposed cleanups from gtk-devel-list.

        * bumped version number to GLib-1.3.1

        * glib.h:
        * gqueue.c:
        * gstring.c:
        * glist.c:
        removed string tokenisation (we got g_strsplit() and g_strjoin()
        already) and readline functions.
        s/g_list_delete/g_list_delete_link.
        implemented g_slist_delete_link.
        removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
        macro, g_atexit() is provided for public consumption.
        added GTrashStack inline utility functions.
        reimplement double eneded queues.
        removed GStack implementation, people can use a queue or a (singly)
        linked list for this task.
        deprecated g_strescape(), we need the SunOS variants here.

        * gdate.c: added DEBUG_MSG() macro to wrap old messages.

        * *.*: CVS merges.

        * upgrade to libtool 1.3.3.
1999-07-24 18:50:58 +00:00
Tor Lillqvist
c8a28b935c Win32: With the latest gcc (2.95, pre-release), we can have binary
compatibility with MSVC by using the switch -fnative-struct. No
 	longer build DLLs with .gcc in the name when using gcc.
1999-07-21 19:18:41 +00:00
Tor Lillqvist
da87b1ac85 Correct URL for mingw runtime sources.
* README.win32: Correct URL for mingw runtime sources.

	* build-dll: Combine commands with &&.

	* glib.h: Map also rmdir() and hypot() for MSVCRT library.

	* makefile.cygwin.in
	* tests/makefile.cygwin.in: New DLL naming style. GCC-compiled DLLs are
 	now called *.gcc.dll, to avoid binary incompatibilities with
 	MSVC-compiled versions.

	* makefile.msc.in: Cosmetics.
1999-07-12 23:11:27 +00:00
Sebastian Wilhelmi
4982cdbe7e Test for pthread_join rather than for pthread_create to determine the
1999-07-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Test for pthread_join rather than for
	pthread_create to determine the right thread-lib. Makes it work on
	mips-sgi-irix6.5. Hitn from to Jari Vuoksenranta
	<javu@piano.ux.phys.jyu.fi>.
1999-07-07 12:36:45 +00:00
Tor Lillqvist
bbb6ccbab7 *** empty log message *** 1999-07-02 21:41:48 +00:00
Sebastian Wilhelmi
d610460c22 Added a g_memmove replacement for platforms without memmove, where bcopy
1999-07-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, acconfig.h, gutils.c: Added a g_memmove
	replacement for platforms without memmove, where bcopy can't
	handle overlapping copies and the corresponding checks, which is
	taken form the PERL Configure routine.

	* glib.h: Updated the commentary about g_memmove to be right and
	more GLib-like.

	* configure.in: Removed test for rand_r, as it isn't used anymore.
1999-07-01 09:30:18 +00:00
Sebastian Wilhelmi
f80d6cc540 Finally removed the g_random_normal and g_rand_normal functions.
1999-06-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, grand.c: Finally removed the g_random_normal and
	g_rand_normal functions.
1999-06-30 08:10:01 +00:00
Tor Lillqvist
d5039b2943 Add missing export of g_strncasecmp.
* glib.def: Add missing export of g_strncasecmp.
1999-06-28 06:53:43 +00:00
Jose Mercado
92a9354a9e More spec file cleanups from Jose Mercado of Jose Mercado fame.
1999-06-21  Jose Mercado  <jmercado@mit.edu>

	* glib.spec.in: Changed version number (1.1->1.3) in files section
	to allow rpm to build packages again.
1999-06-21 23:07:58 +00:00
Tor Lillqvist
be80f9a106 Update the pthreads snapshot version we want. Advice how to hand-expand
* README.win32: Update the pthreads snapshot version we want.
	Advice how to hand-expand the makefile.*.in files.

	* config.h.win32.in: Define values needed by Sebastian Wilhelmi's
	new thread stuff.

	* glib.def: Add new functions.

	* glibconfig.h.win32.in: Update the pthreads snapshot version.
	Fix typo.

	* gthread.c: Include config.h, guard inclusion of unistd.h.  When
 	using gcc on Win32, g_thread_functions_for_glib_use must be marked
 	for export here, too.

	* gtimer.c: Implement g_usleep on native Win32 using Sleep (which
	only has millisecond granularity, though).

	* makefile.cygwin.in
	* makefile.msc.in: Update pthreads snapshot version. File
	name changes. Remove testgthread.

	* tests/makefile.cygwin.in
	* tests/makefile.msc.in: Add thread-test. Link with gthread lib.

	* gthread-posix.c: Guard pthread_attr_setscope call with test
	for _POSIX_THREAD_PRIORITY_SCHEDULING, which should be defined
	in a <pthread.h> that supports that feature.
1999-06-20 22:20:43 +00:00
Jeff Garzik
5452cb1518 Re-order tests in alpha order.
1999-06-18  Jeff Garzik  <jgarzik@pobox.com>

        * tests/Makefile.am:  Re-order tests in alpha order.
1999-06-18 16:36:25 +00:00
Sebastian Wilhelmi
07e4603073 Changed test for pthread_attr_setstacksize from AC_TRY_COMPILE to
1999-06-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Changed test for pthread_attr_setstacksize from
	AC_TRY_COMPILE to AC_TRY_LINK.
1999-06-18 07:19:38 +00:00
Sebastian Wilhelmi
90f6cc9bf2 Completed the thread support in GLib. Thread creation, prioritizing
1999-06-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, acglib.m4, acconfig.h, glib.h, gthread.c:
	Completed the thread support in GLib. Thread creation,
	prioritizing threads, yielding, joining threads as well as
	reader/writer locks and recursive mutexes are now in place. Please
	test heavily on your platform. It is so far tested on
	Linux/i386/pthreads, Solaris/Sparc/pthreads and
	Solaris/Sparc/solaristhreads.

	* gtimer.c, glib.h: Implement g_usleep (gulong microseconds) for
	thread safe sleeping. (sleep() is not MT-safe at all!)

	* gutils.c: Avoid compiler warning.

	* tests/Makefile.am, tests/thread-test.c: New program to test some
	aspects of the thread implementation.

	* gthread.c, Makefile.am: Renamed from gmutex.c to reflect the
	change of content.

	* configure.in: Purged all appearances of nspr.

	* gthread/gthread-posix.c, gthread-solaris.c: Added the native
	implementations for the GLib's extended thread support.

	* gthread/gthread-nspr.c: Removed for good. NSPR is nothing we
	would want to build upon.

	* gthread/gthread.c: Renamed to gthread-impl.c to avoid
	confusion with ../gthread.c (Formerly known as the file called
	gmutex.c)

	* gthread/testgthread.c: Removed. The new and much extended
        tests are in ../tests/thread-test.c.

	* gthread/Makefile.am: Changed to reflect the changes above.
1999-06-17 15:39:31 +00:00
Manish Singh
ed49525102 libtool 1.3.2 (BeOS changes merged)
-Yosh
1999-06-02 18:43:45 +00:00
Tor Lillqvist
37e447f278 Backslashify also '"' characters.
* gstrfuncs.c (g_strescape): Backslashify also '"' characters.

	* glib.h: Document g_strescape.
1999-05-29 10:28:06 +00:00
Tor Lillqvist
e334434a9d Map fileno to _fileno for mingw32. Map fstat to _fstat.
* glib.h (Win32): Map fileno to _fileno for mingw32. Map fstat to
 	_fstat.

	* README.win32: Advice also to remove -lmoldname from the
 	patch to the egcs-1.1.2 spec file patch.
1999-05-12 18:59:49 +00:00
CDT 1999 Shawn T. Amundson
2fd4a22a9d Another small fix.
Wed May 12 00:23:55 CDT 1999 Shawn T. Amundson <amundson@gtk.org>

        * gmodule/Makefile.am: Another small fix.
1999-05-12 05:27:34 +00:00
Tor Lillqvist
f6eb31132c Correct rules for making the win32-related files that are made from
* Makefile.am tests/Makefile.am: Correct rules for making the
	win32-related files that are made from corresponding .in files.
	Is there a cleaner way than explicitly writing rules that invoke
	config.status?
1999-05-08 14:14:32 +00:00
CDT 1999 Shawn T. Amundson
0e7f2f16f7 Better testing reveals better methods. Fixes for BeOS.
Sat May  8 06:00:17 CDT 1999 Shawn T. Amundson <amundson@gtk.org>

        * configure.in
          gmodule/Makefile.am
          gthread/Makefile.am: Better testing reveals better
          methods.  Fixes for BeOS.
1999-05-08 11:04:26 +00:00
CDT 1999 Shawn T. Amundson
499c9786d1 Port to BeOS by myself and Richard Offer.
Sat May  8 01:52:29 CDT 1999 Shawn T. Amundson <amundson@gtk.org>

        * configure.in
          gerror.c
          gmain.c
          gstrfuncs.c
          gutils.c
          ltconfig
          ltmain.sh
          gmodule/Makefile.am
          gmodule/gmodule.c
          gmodule/gmoduleconf.h.in
          gmodule/gmodule-beos.c
          gthread/Makefile.am: Port to BeOS by myself and Richard Offer.
1999-05-08 07:40:44 +00:00
Tor Lillqvist
2b688f549c New files, used to generate corresponding non-.in files when making a
* makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
 	config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
 	New files, used to generate corresponding non-.in files when
 	making a dist. This is just so the version numbers will be kept in
 	synch automatically.

	* configure.in: Also substitute @GLIB_MAJOR_VERSION@,
 	@GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.

	* Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.

	* gerror.c (g_on_error_query): On Win32, put up a MessageBox and
 	then exit.

	* glib.def: Add a couple of functions.
1999-05-06 17:33:15 +00:00
Manish Singh
380709d62f libtool 1.3 upgrade
use -avoid-version and -module for test plugins

-Yosh
1999-05-01 18:00:00 +00:00
Tor Lillqvist
d6c6eb3d92 More editing. Use gcc, not ld to link. On native Win32 use _unlink(). Use
* README.win32: More editing.
	* build-dll: Use gcc, not ld to link.
	* glib.h: On native Win32 use _unlink().
	* gscanner.c: Use corrent NATIVE_WIN32 feature test macro,
	not _MSC_VER.
	* gstring.c: Include <io.h> on Win32 for _read prototype.
	* gutils.c: Remove old IO channel code (was in #if 0).
	* makefile.cygwin: Don't need to link with kernel32 and msvcrt
	explicitly, they are included anyway.
1999-04-25 20:52:42 +00:00
Tor Lillqvist
2aa1277d60 Support added for building using a GNU toolchain on Win32,
i.e. gcc -mno-cygwin on cygwin (a.k.a. mingw32, using egcs-1.1.2).

	* README.win32: Updated.
	* build-dll makefile.cygwin tests/makefile.cygwin: New files.
	* glib.h glib.def glibconfig.h.win32 makefile.msc: Slight updates.
	* gmain.c: No need to include <fcntl.h> and <io.h> on Win32.
	* gmain.c gutils.c testglib.c tests/string-test.c: Test for
	NATIVE_WIN32, not _MSC_VER.
	* gmutex.c: Must declare g_thread_functions_for_glib_use as
	exported (using the GUTILS_C_VAR macro).
	* gutils.c gmodule/libgplugin_[ab].c: LibMain not needed.
	* gmodule/gmoduleconf.h.win32: Need underscore with gcc.
	* gthread/gthread.c: With gcc on Win32, must use memcpy to assign
	value of g_thread_functions_for_glib_use (?).
	* makefile.msc tests/makefile.msc: Cosmetics.
1999-04-24 13:52:51 +00:00
BST 1999 Tony Gale
0269749a67 Fix typo in g_string_ncasecmp macro (by me). Add b_string_strncasecmp
Fri Apr 23 14:29:25 BST 1999  Tony Gale <gale@gtk.org>

        * glib.h: Fix typo in g_string_ncasecmp macro (by me).
          Add b_string_strncasecmp macro.
1999-04-23 13:34:09 +00:00
Sebastian Wilhelmi
737d9c6714 use sysconf (_SC_GETPW_R_SIZE_MAX) as the new initinal bufsize for
1999-04-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_any_init): use sysconf (_SC_GETPW_R_SIZE_MAX) as
	the new initinal bufsize for getpwuid_r on systems, that support
	this. Hint from Holger Duerer <H.Duerer@zait.uni-bremen.de>.
1999-04-22 13:16:10 +00:00
BST 1999 Tony Gale
32aecf31a7 Add new g_string functions for reading from file/socket descriptors, and
Sat Apr 17 20:55:13 BST 1999  Tony Gale <gale@gtk.org>

        * glib.h, gstring.c: Add new g_string functions for reading
          from file/socket descriptors, and tokenising strings.

          Added various g_string macros.
1999-04-17 20:04:49 +00:00
Tor Lillqvist
fb55f0056e Mention the tests directory.
* README.win32: Mention the tests directory.

	* glib.def: Add the functions from grand.c.

	* glibconfig.h.win32: Add unsigned max values, and the format
 	strings.

	* makefile.msc: Add grand.

	* tests/{date-test,node-test}.c: Include <stdlib.h> for exit().

	* tests/makefile.msc: New file.
1999-04-13 21:05:08 +00:00
Sebastian Wilhelmi
3aa65d30eb Moved struct declaration up. Style fixes.
1999-04-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h: Moved struct declaration up. Style fixes.

	* grand.c: Style fixes. Only try to open /dev/random once.

	* tests/rand-test.c (main): New tests; Slight bug fix.
1999-04-12 12:53:37 +00:00
Sebastian Wilhelmi
95aff22dff New files to implement the Mersenne Twister Pseudo Random Number
1999-04-09  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* grand.c, tests/rand-test.c: New files to implement the Mersenne
	Twister Pseudo Random Number Generator.

	* glib.h, AUTHORS, Makefile.am, tests/Makefile.am: Changed
	accordingly.
1999-04-09 14:40:58 +00:00
Shawn Amundson
bbc2cc4e0e Increment some version numbers, add warning to configure.
Increment some version numbers, add warning to configure.

-Shawn
amundson@gtk.org
1999-04-09 02:16:39 +00:00
Sebastian Wilhelmi
0ca3f612e7 Added a check for the right format to printf and scanf long longs. It is
1999-03-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Added a check for the right format to printf and
	scanf long longs. It is %qi instead of %lli on FreeBSD for
	whatever reason.
1999-03-30 14:25:50 +00:00
Raja R Harinath
44714ea838 Make sure `glibconfig.h' exists after the rule is fired.
* Makefile.am (glibconfig.h): Make sure `glibconfig.h' exists
after the rule is fired.
(install-exec-local): Install glibconfig.h only if the contents
are different from the currently installed glibconfig.h.
1999-03-29 00:02:37 +00:00
Raja R Harinath
74ba3d4d40 Rename from configincludedir so that glibconfig.h will be installed as
* Makefile.am (configexecincludedir): Rename from
configincludedir so that glibconfig.h will be installed
as part of `make install-exec'.
1999-03-26 21:03:45 +00:00
Tor Lillqvist
aa8d510e87 Update version numbers.
* config.h.win32: Update version numbers.

	* glibconfig.h.win32: Update version numbers and pthreads-win32-
 	related magic values.

	* README.win32: Some improvements.

	* makefile.msc: Add gqueue and gstack. Correct version number.
1999-03-25 22:55:48 +00:00
Manish Singh
79986f1e8b acinclude.m4 config.guess config.sub ltconfig upgrade to libtool 1.2f
* acinclude.m4
* config.guess
* config.sub
* ltconfig
* ltmain.sh: upgrade to libtool 1.2f

* autogen.sh: libtool is not required to autogen glib

* acconfig.h: remove WITH_SYMBOL_UNDERSCORE (not explictly needed)

-Yosh
1999-03-20 00:44:22 +00:00
Jeff Garzik
5bf6ee6baf Add new g_list, g_stack, g_queue functions.
1999-03-18  Jeff Garzik  <jgarzik@pobox.com>

        * glib.def: Add new g_list, g_stack, g_queue functions.
1999-03-18 15:51:26 +00:00
Sebastian Wilhelmi
84b6512630 forgot to include submitter.
forgot to include submitter.
1999-03-18 14:44:03 +00:00
Sebastian Wilhelmi
3e95674232 added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES) to hold various defines
1999-03-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: added new AC_SUBST(GTHREAD_COMPILE_IMPL_DEFINES)
	to hold various defines to get the right thread implementation on
	different platforms. Also look in -ldce for pthread_create. Should
	make it work on HP-UX 10.x.

	* gthread/Makefile.am (INCLUDES): Added @GTHREAD_COMPILE_IMPL_DEFINES@.
1999-03-18 14:41:38 +00:00
Jeff Garzik
05f42cc0e2 Add copyright, clean up code a bit.
1999-03-17  Jeff Garzik  <jgarzik@pobox.com>

        * gstack.c, gqueue.c:
        Add copyright, clean up code a bit.
1999-03-17 15:38:18 +00:00
Sebastian Wilhelmi
771d712085 Added missing values for G_MAXU(SHORT|INT|LONG) on platforms with only
1999-03-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Added missing values for G_MAXU(SHORT|INT|LONG) on
	platforms with only /usr/include/values.h.

	* acconfig.h: Removed unnecessary macros.

        * glibconfig.h.win32, config.h.win32: Moved G_THREADS_IMPL_POSIX
	from config.h.win32 to glibconfig.h.win32. Taken from glib 1.2
	branch.

	* configure.in: Also accept _Pctime_r instead of ctime_r, while
	seraching for the right `_REENTRANT' flag. This is for Digital
	UNIX 4.0d. Taken from glib 1.2 branch.
1999-03-17 09:46:59 +00:00
Tim Janik
181f079319 added GLIB_CHECK_VERSION() macro similar to GTK_CHECK_VERSION().
Wed Mar 17 03:14:56 1999  Tim Janik  <timj@gtk.org>

        * glib.h: added GLIB_CHECK_VERSION() macro similar to
        GTK_CHECK_VERSION().
1999-03-17 02:38:24 +00:00
Sebastian Wilhelmi
5f17e39e2a Sun Mar 14 17:50:35 1999 Tim Janik <timj@gtk.org>
Wed Mar 17 01:46:28 1999  Tim Janik  <timj@gtk.org>

        * merges from glib-1-2:

Sun Mar 14 17:50:35 1999  Tim Janik  <timj@gtk.org>

        * gmem.c (g_mem_chunk_*): changed a bunch of g_assert() statements
        to g_return_if_fail().
        (g_mem_profile):
        (g_mem_chunk_print):
        (g_mem_chunk_info): removed some extraneous "\n"s at the end of the log
        messages.

        * gtimer.c (g_timer_*): changed a bunch of g_assert() statements
        to g_return_if_fail().
        * grel.c (g_*): changed a bunch of g_assert() statements to
        g_return_if_fail() and added some extra ones to check relation != NULL.

Tue Mar  9 23:25:50 1999  Tim Janik  <timj@gtk.org>

        * configure.in: check for working realloc (NULL,).
        * gmem.c (g_realloc): use malloc() for initial allocation on systems
        where realloc(NULL,) will not work (this is the case on SunOS, reported
        by Tom Geiger).

Mon Mar  8 07:42:08 1999  Tim Janik  <timj@gtk.org>

        * ghook.c (g_hook_unref): when !hook_list->is_setup, wrap the
        flag around the call to g_hook_free() to avoid spurious
        warnings (happens during destruction phase).

1999-03-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * gmem.c: Fixed a stupid cut'n'paste error of mine. Thanks to
        Friedrich Dominicus <Friedrich.Dominicus@inka.de>
1999-03-17 01:05:49 +00:00
Timur Bakeyev
5d1e3dc14e pthread_create in libc
1999-03-16  Timur Bakeyev  <mc@bat.ru>

	* configure.in: Fix problem with pthread_create in libc, as running
	"gcc test.c -l " is not legal.
1999-03-16 22:07:28 +00:00
Sebastian Wilhelmi
f64f75fde5 Added a test for the G_(U)?INT(16|32|64)_FORMAT and
1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

       * tests/type-test.c: Added a test for the
       G_(U)?INT(16|32|64)_FORMAT and G_(MIN|MAX|MAXU)(SHORT|INT|LONG)
       macros.
1999-03-16 16:02:05 +00:00
Sebastian Wilhelmi
9c2c6ee11b Removed G_(U)?INT8_FORMAT again, as it can't be used for scanf.
1999-03-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

        * configure.in: Removed G_(U)?INT8_FORMAT again, as it can't be
        used for scanf.

        * configure.in: Added the macros G_MAXU(SHORT|INT|LONG). I do not
        know how to handle these on platforms with /usr/include/values.h,
        but without /usr/include/limits.h. Please someone add this.
1999-03-16 14:25:01 +00:00
Sebastian Wilhelmi
d9f1357113 Added the macros G_(U)?INT_(8|16|32|64)_FORMAT to use for printf and (much
1999-03-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Added the macros G_(U)?INT_(8|16|32|64)_FORMAT to
	use for printf and (much more important) scanf format strings for
	the corresponding GLib types.

	* glib.h Added G_(U)?(SHORT|INT|LONG)_FORMAT for consistency. It
	however makes no sense to also provide G_(FLOAT|DOUBLE)_FORMAT, as
	they are different for printf (f for both) and scanf (f for float,
	lf for double). Defining G_INT_FORMAT makes sense however, as we
	might want to define gint to something different than int someday
	in the future. Idea from Sascha Brawer <sb@adasys.ch>.
1999-03-15 16:09:15 +00:00
Jeff Garzik
21d0ac27b8 Commented out debugging output.
1999-03-14  Jeff Garzik  <jgarzik@pobox.com>

        * gdate.c:
        Commented out debugging output.

        * tests/Makefile.am, tests/date-test.c:
        Added test of the GDate module, based closely on testgdate.c.

        * tests/Makefile.am:
        Bugfix - compile tests with @GLIB_DEBUG_FLAGS@.
1999-03-14 23:46:51 +00:00
Raja R Harinath
bfc21756e1 Remove widechar tests and defines. (fd_set): Change the grep for `fd_mask'
* configure.in (glibconfig.h): Remove widechar tests and defines.
(fd_set): Change the grep for `fd_mask' to search for `fd_set'.
* gerror.c (fd_mask): Remove conditional typedef.  It is not used
elsewhere in the file.
* gmain.c (fd_mask): Likewise.
1999-03-14 20:57:41 +00:00
Sebastian Wilhelmi
cc7f889607 Test for posix threads first, then for dce threads.
1999-03-12  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

       * configure.in: Test for posix threads first, then for dce threads.

       * gthread/gthread-posix.c (g_private_get_posix_impl): Fixed
       typo for DCE implementation.
1999-03-12 15:28:36 +00:00
Sebastian Wilhelmi
4c63008b6c Revamped the thread configure stuff. Now dce threads (old posix draft) are
1999-03-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Revamped the thread configure stuff. Now dce
	threads (old posix draft) are recogniced. This is necessary,
	because dce threads are in fact working quite differently from
	posix threads. Also changed the conditions for checking for MT
	safe functions a bit, because G_THREADS_IMPL_NONE still have to
	compile thread safe.

	* gthread/gthread-posix.c: Now handle both dce and posix
	threads. They are sufficently equal.

NOTE: Please do not commit my change to
glib-1-2/{acconfig.h,configure.in,config.h.win32} from 1999-03-03, as
the current change will take care of that too.
1999-03-11 17:38:51 +00:00
Jeff Garzik
fd7ba69e32 Added stack, queue ADTs and related tests.
Tue Mar  9 14:37:32 1999  Jeff Garzik  <jgarzik@pobox.com>

        * Makefile.am, glib.h, gstack.c, gqueue.c,
          tests/Makefile.am, tests/queue-test.c, tests/stack-test.c:
        Added stack, queue ADTs and related tests.

        * glib.h, glist.c:
        New g_list_delete() function.
1999-03-09 19:41:19 +00:00
Asbjørn Pettersen
0ecd369530 add OS/2 changes 1999-03-06 10:05:32 +00:00
Josh MacDonald
f3dfc20057 Add g_spaced_primes_closest to glib.def, it was missing. 1999-03-04 02:17:22 +00:00
Sebastian Wilhelmi
1ed6997670 Fixed yet another bloody implementation of getpwuid_r. This time for AIX.
1999-03-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_any_init): Fixed yet another bloody
	implementation of getpwuid_r. This time for AIX. Thanks to Olaf
	Dietsche <olaf.dietsche+list.gtk@netcologne.de>. I would like a
	configure test better than that, but have no idea, how to do that
	easily.
1999-03-01 07:55:34 +00:00
Tim Janik
9816c0fa17 moved old ChangeLog to ChangeLog.pre-1-2, and started new one.
Sat Feb 27 01:18:47 1999  Tim Janik  <timj@gtk.org>

        * ChangeLog: moved old ChangeLog to ChangeLog.pre-1-2, and started
        new one.

        * configure.in: set glib version to 1.3.0.
1999-02-27 00:25:58 +00:00
Shawn Amundson
a66533dbfa Increment version to 1.2.0.
Increment version to 1.2.0.

-Shawn
amundson@gtk.org
1999-02-25 21:34:25 +00:00
CST 1999 Shawn T. Amundson
b9ef2b41db inserted additional note to look for ChangeLog and AUTHORS file for a log
Wed Feb 24 00:08:42 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * *.[ch]: inserted additional note to look for ChangeLog and
	  AUTHORS file for a log of modifications.
1999-02-24 06:14:27 +00:00
Michael Fulbright
a9a2206fc6 I've made the spec file autogenerated, and I tweaked it
Dr Mike <drmike@redhat.com>
1999-02-21 18:58:59 +00:00
Tim Janik
af15d082a8 plugged a memory leak, reported by Koen D'Hondt <ripley@xs4all.nl> on 15
Thu Feb 18 08:24:12 1999  Tim Janik  <timj@gtk.org>

        * gmem.c (g_realloc): plugged a memory leak, reported by Koen D'Hondt
        <ripley@xs4all.nl> on 15 Oct 1998. allocate inital block from realloc.
1999-02-18 08:13:19 +00:00
Elliot Lee
ba2def0aee glib.spec: Do --enable-debug=no for the .rpm's.
glib.spec: Do --enable-debug=no for the .rpm's.
1999-02-18 00:10:04 +00:00
Tor Lillqvist
1dfbfe9823 Must define HAVE_PTHREAD_GETSPECIFIC_POSIX. Pity I didn't notice this
until just after 1.1.16... sigh.
1999-02-17 17:48:17 +00:00
CST 1999 Shawn T. Amundson
95a5574cf4 version=1.1.16
Tue Feb 16 14:08:59 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * NEWS
          README
          INSTALL
          config.h.win32
          configure.in
          glib.spec
          glibconfig.h.win32
          docs/glib-config.1: version=1.1.16

        * Released GLib 1.1.16
1999-02-16 21:20:13 +00:00
Sebastian Wilhelmi
8168836cd2 Changed signature of all g_static_mutex_* functions to take a pointer
1999-02-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, glibconfig.h.win32, configure.in: Changed signature of
	all g_static_mutex_* functions to take a pointer rather than the
	struct itself. This is not an issue at the moment, because those
	funcs are really macros, but is it un'G'ish and might fall on our
	feet in the future.

	* gthread/testgthread.c (test_mutexes): Use new signature of
	g_static_mutex* functions.
1999-02-15 08:26:00 +00:00
Tim Janik
3f5639a791 default to yes for development trees.
Mon Feb 15 07:45:54 1999  Tim Janik  <timj@gtk.org>

        * configure.in (--enable-debug): default to yes for development trees.
1999-02-15 06:50:15 +00:00
Tim Janik
d31ba84c8e return guints instead of gints for g_hash_table_size and
Mon Feb 15 06:18:58 1999  Tim Janik  <timj@gtk.org>

        * glib.h: return guints instead of gints for g_hash_table_size
        and g_hash_table_foreach_remove.
1999-02-15 05:47:24 +00:00
Tim Janik
0df89d51a4 be more descriptive on unsupported systems.
Wed Feb 10 12:06:30 1999  Tim Janik  <timj@gtk.org>

        * gmodule.c (CHECK_ERROR): be more descriptive on unsupported systems.

Wed Feb 10 12:01:42 1999  Tim Janik  <timj@gtk.org>

        * configure.in: don't reset G_MODULE_IMPL, so it can be overridden
        from the command line.
1999-02-10 11:15:13 +00:00
Sebastian Wilhelmi
58a51cbf5f forgot the ChangeLog. Here we go
forgot the ChangeLog. Here we go
1999-02-10 09:56:40 +00:00
Tim Janik
a8ff1b4fce fixed errernerous code wrt to thread specific error string allocation
Wed Feb 10 07:56:33 1999  Tim Janik  <timj@gtk.org>

        * gmodule.c (g_module_error): fixed errernerous code wrt to thread
        specific error string allocation handling.

Wed Feb 10 06:20:30 1999  Tim Janik  <timj@gtk.org>

        * gmutex.c (g_static_private_set): invoke destroy notifier when
        overwriting values, initialize new array fields with NULL.
        (g_static_private_free_data): do not skip destroy notification for
        data == NULL.

        * gutils.c (g_direct_equal): compare pointer values directly instead
        of just their guint values which is a loosing conversion for
        sizeof(gpointer)==8 systems.
        (g_get_any_init): restructured code so we don't use endless loops like
        while (1), which boil down to an ugly alias for goto.
        strip ,.* from the real name.
1999-02-10 08:06:26 +00:00
Elliot Lee
6c79947722 pools of 128 items instead of 1024 items.
pools of 128 items instead of 1024 items.
1999-02-09 19:25:38 +00:00
Sebastian Wilhelmi
fa5d3b74b0 Changed the test for getpwuid_r to exclude those systems (i.e. IRIX), that
1999-02-08  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in, acconfig.h: Changed the test for getpwuid_r to
	exclude those systems (i.e. IRIX), that set ENOSYS after the call.
	Test, if pthread_getspecific is posix like or something different,
	as on PCThreads.

	* gthread/gthread-posix.c (g_private_get_posix_impl): Use the
	HAVE_PTHREAD_GETSPECIFIC_POSIX macro to determine, which signature
	to use for pthread_getspecific.
1999-02-08 17:14:44 +00:00
Owen Taylor
9071de6fdc Copy all elements of the allocations[] array, including the last. (Pointed
Sun Feb  7 21:56:00 1999  Owen Taylor  <otaylor@redhat.com>

	* gmem.c (g_mem_profile): Copy all elements
	of the allocations[] array, including the last.
	(Pointed out by "Matthew W. Samsonoff" <mws7323@osfmail.isc.rit.edu>)
1999-02-08 02:51:30 +00:00
Sebastian Wilhelmi
28500009d4 Make the error message in case of a broken thread system a bit more
1999-02-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Make the error message in case of a broken thread
	system a bit more informative.

	* gutils.c (g_get_any_init): Changed the error logic again, now
	only leaving the memory doubling loop, when success is reached or
	when the user isn't found or when the buffer is 32k big,
	additionally now getpwuid will be run, if getpwuid_r didn't work
	out properly. A warning is issued however.
1999-02-05 16:41:02 +00:00
Tor Lillqvist
319fb3361c Update GLIB_MICRO_VERSION. (Pity it has to be done manually. Hmm.) 1999-02-04 21:53:48 +00:00
Christopher Blizzard
96ebb43e3d change my email address 1999-02-04 14:12:28 +00:00
PST 1999 Shawn T. Amundson
3d2943e0cf version=1.1.15
Thu Feb  4 01:45:01 PST 1999 Shawn T. Amundson <amundson@gtk.org>

        * ChangeLog
          NEWS
          README
          configure.in
          glib.spec
          docs/glib-config.1: version=1.1.15

        * Released GLib 1.1.15
1999-02-04 12:59:35 +00:00
Tor Lillqvist
0221263645 Don't call ensure_stdout_valid (which would open an unneeded console
* gmessages.c (g_log_default_handler): (Win32:) Don't call
  ensure_stdout_valid (which would open an unneeded console window)
  if we're calling a logging function.  Define ensure_stdout_valid
  as an empty macro on Unix.

* gutils.c (g_get_any_init): (Win32:) Trust HOME first if defined,
  then try HOMEDRIVE and HOMEPATH.
1999-02-02 01:24:34 +00:00
Owen Taylor
f26256fe18 Release the main_loop lock around calls to prepare() and check() so that
Mon Feb  1 19:04:28 1999  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_main_iterate): Release the main_loop
	 lock around calls to prepare() and check() so
	 that we are not holding the main loop lock
	 over user code.
1999-02-02 01:04:41 +00:00
Sebastian Wilhelmi
87d3468f20 Moved the check for MT save function variants after the determination of
1999-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Moved the check for MT save function variants
	after the determination of the MT cflags and use them there.
1999-02-01 08:44:24 +00:00
Sebastian Wilhelmi
1432d70585 Fixed typo. Now HPUX 11 thread system detection should work.
1999-01-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Fixed typo. Now HPUX 11 thread system detection
	should work.
1999-01-29 13:34:43 +00:00
CST 1999 Shawn T. Amundson
0fc0cf6635 version=1.1.14
Wed Jan 27 23:21:50 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * INSTALL
          NEWS
          README
          configure.in
          glib.spec
          docs/glib-config.1: version=1.1.14

        * Released GLib 1.1.14
1999-01-28 08:13:30 +00:00
Sebastian Wilhelmi
c65e5aab74 Simplified configure.in test for posix threads, systems, that provide
1999-01-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Simplified configure.in test for posix threads,
	systems, that provide /usr/include/pthread.h should also have the
	posix thread library. This is to avoid writing down all the tests
	twice. New test for thread system on HPUX 11. Info from Matt
	Nottingham <matt@sar.dera.gov.uk>.
1999-01-28 07:43:18 +00:00
Manish Singh
9d71cc7f50 Xsed isn't valid here, don't use it
* acinclude.m4: Xsed isn't valid here, don't use it

* ltmain.sh
* ltconfig: better file magic regexp for Linux libs

* gmodule/Makefile.am: arg, noinst_LTLIBRARIES doesn't make shared
libs, revert my previous change to this file

* docs/texinfo.tex: add it so automake doesn't whine

-Yosh
1999-01-28 04:43:35 +00:00
Tim Janik
d9a8bb01e4 applied patch from Andrej Borsenkow <borsenkow.msk@sni.de> to also check
Wed Jan 27 01:57:19 1999  Tim Janik  <timj@gtk.org>

        * configure.in (G_MODULE_HAVE_DLERROR): applied patch from Andrej
        Borsenkow <borsenkow.msk@sni.de> to also check for dlsym() in system
        libraries and -ldl, to catch systems that provide dlopen() in libc
        and dlsym() in libdl. this is at least the case for Reliant UNIX
        5.44 (labeling itself as SINIX).
1999-01-27 08:52:57 +00:00
Manish Singh
8ef66ccb25 don't use backquotes in warning text
-Yosh
1999-01-26 21:40:55 +00:00
Sebastian Wilhelmi
d60b23eb02 Removed the #warning about MT unsafety without localtime_r.
1999-01-26  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gdate.c (g_date_set_time): Removed the #warning about MT
	unsafety without localtime_r.

	* configure.in: Moved it here.
1999-01-26 13:17:46 +00:00
Raph Levien
427345f568 Fixed a broken #define for G_THREADS_IMPL_$g_threads_impl_def
that was causing NONE to get defined in the no-threads case.
1999-01-25 18:12:34 +00:00
Timur Bakeyev
9225673ea2 NO_SYS_SIGLIST_DECL change.
Mon Jan 25 15:34:43 1999  Timur Bakeyev <mc@bat.ru>

	* configure.in, gstrfuncs.c: Inverted logic of NO_SYS_SYGLIST_DECL -
	now it's normal (see 1999-01-19 Josh MacDonald). Also, remove from
	#include <signal.h> wrapper NO_SYS_SYGLIST - *sys_syglist[] declara-
	tion hides there.
1999-01-25 12:45:51 +00:00
Sebastian Wilhelmi
def1947e4f Do not use the thread libs, when searching for some functions, as this
1999-01-25  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Do not use the thread libs, when searching for
	some functions, as this might require glib to always be linked
	with the thread libs on some platforms.

	* gutils.c (g_get_any_init): Don't set errno to zero and use it
	only as the error code, if the function returned a value less
	0. It might happen, that the call succeeds, even though the errno
	is set during the call (i.e. it first looks for a passwd file,
	which is not found). Submitted by Michael Natterer
	<mitschel@cs.tu-berlin.de>. BTW: Sorry for all the mess with that
	`getpwuid_r' change, but it had to be done once.
1999-01-25 09:53:17 +00:00
Tim Janik
c5fd4a3dc4 reverted raja's changes, since they leaked a struct passwd contents buffer
Sun Jan 24 10:33:30 1999  Tim Janik  <timj@gtk.org>

        * gutils.c (g_get_any_init): reverted raja's changes, since they leaked
        a struct passwd contents buffer and for the rest mostly substituted a
        while loop with a bunch of gotos.
        restored the getpwuid() code to what we had after my recent clean ups
        ("Sat Jan 23 02:14:28 1999 Tim Janik"), module yosh's recent changes.
        to feature solaris behaviour of directly returning errno, we don't
        modify error anymore if it's > 0 and simply reset errno.
        don't reset g_home_dir for !NATIVE_WIN32 && !NATIVE_WIN32.
1999-01-24 10:32:56 +00:00
Raja R Harinath
96cf177352 Hopefully got the error handling for `getpwuid_r' right. (g_get_any_init)
* gutils.c
        (g_get_any_init) [HAVE_GETPWUID_R && HAVE_GETPWUID_R_POSIX]:
        Hopefully got the error handling for `getpwuid_r' right.
        (g_get_any_init) [HAVE_GETPWUID_R && !HAVE_GETPWUID_R_POSIX]:
        Fix typo (change `pw == NULL' to `pw != NULL').

Please let this be right :-/.
1999-01-24 07:10:18 +00:00
EST 1999 Jeff Garzik
d5492a983c - Revert previous "fix" (which really just did things a different way). -
Sun Jan 24 00:36:22 EST 1999  Jeff Garzik  <jgarzik@pobox.com>

        * ghash.c:
        - Revert previous "fix" (which really just did things a
          different way).
        - (g_hash_table_remove): Don't need to support multiple values
          for a single key.

        * tests/hash-test.c:
        Add test where hash function always returns a single value.
        Add beginnings of tests for g_hash_table_foreach[_remove] and
        g_hash_table_remove.
1999-01-24 06:18:43 +00:00
Manish Singh
90ca4040f6 Moved the warning about MT and no getpwuid_r from gutils.c to configure
-Yosh
1999-01-24 04:42:35 +00:00
Jeff Garzik
448e792b0a - Fixed bug that overwrote nodes in hash buckets instead of adding them to
Sat Jan 23 22:45:59 1999  Jeff Garzik  <jgarzik@pobox.com>

        * ghash.c (g_hash_table_lookup_node, g_hash_table_lookup,
                   g_hash_table_insert, g_hash_table_remove,
                   g_hash_table_lookup_extended):
          - Fixed bug that overwrote nodes in hash buckets instead of
            adding them to the hash bucket node list.
            Hash tables now work as advertised.

        (g_hash_table_resize):
          - Use g_new0 instead of manual init.
          - Space out code a bit for readability.

        (g_hash_nodes_destroy):
          - Replaced "if (!hash_node) return;" with
            "if (hash_node) {do stuff}".
            Testing takes up less code space than explicit call to
            'return' before end of function.  (look at gcc -S)

        Updated module header copyright to 1999.
        New module macro G_HASH_BUCKET for (table,key)->bucket lookups.

        * tests/hash-test.c:
        - Add two new tests, one with strings as the keys and values, and
          one with ints as the keys and values.  Tests indirect (strings)
          and direct (ints) hashing.
        - Cleanup unused junk left over from testglib.c.
        - Converted a g_print call to g_assert_not_reached.
        - Updated copyright to 1999.

        * testglib.c, tests/string-test.c:
        - Init 'tmp_string' var to NULL, silencing uninit-var warning.
1999-01-24 04:18:11 +00:00
Raja R Harinath
c9e92e124e Rewrite not to look at errno' if library call succeeds, since errno' is
* gutils.c (g_get_any_init) [HAVE_GETPWUID_R]:
Rewrite not to look at `errno' if library call succeeds, since
`errno' is not reset to 0.
1999-01-24 03:18:36 +00:00
Tor Lillqvist
d041a48618 Update pthread_mutex_t size and initializer contents to match latest pthreads-Win32. 1999-01-23 16:21:02 +00:00
Tim Janik
63cc3f3cfb cleaned up the errno mess for GETPWUID. we especially don't want to
Sat Jan 23 02:14:28 1999  Tim Janik  <timj@gtk.org>

        * gutils.c (g_get_any_init): cleaned up the errno mess for
        GETPWUID. we especially don't want to g_error() out here!
        the warning for G_THREADS_ENABLED and !HAVE_GETPWUID_R isn't
        gcc related.
        if !HAVE_PWD_H and !NATIVE_WIN32, g_free the home dir before
        resetting it to NULL, why are we doing this anyways?
        reordered code a bit so we always provide defaults (except
        for g_home_dir).
1999-01-23 02:16:11 +00:00
Jeff Garzik
de56462be9 move gmodule changelog entry to gmodule changelog 1999-01-22 03:43:18 +00:00
EST 1999 Jeff Garzik
dc22ea7760 Add braces to eliminate an ambiguous else warning.
Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>

        * gmodule/gmodule-dl.c (_g_module_build_path):
        Add braces to eliminate an ambiguous else warning.

        * tests/{Makefile.am, string-test.c, strfunc-test.c}:
        Separate string and strfunc tests, working towards goal of
        having separate test for each of the GLib modules.
        Add a couple GString length tests.
1999-01-21 18:07:20 +00:00
EST 1999 Jeff Garzik
55fa3d1112 Use AC_PREREQ not AC_REQUIRE for autoconf version test.
Thu Jan 21 09:36:05 EST 1999  Jeff Garzik  <jgarzik@pobox.com>

        * configure.in:
        Use AC_PREREQ not AC_REQUIRE for autoconf version test.
1999-01-21 14:38:14 +00:00
Sebastian Wilhelmi
11ea0ea133 Changed error handling again, as the error is not always set in errno, it
1999-01-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_any_init): Changed error handling again, as the
	error is not always set in errno, it is the return value on some
	systems. What an evil world.
1999-01-21 09:06:28 +00:00
Tor Lillqvist
30bcb36954 Include signal.h only when the signal names will be needed. 1999-01-21 05:43:40 +00:00
EST 1999 Mandrake
1a04abe5fb made some adjustments for automake 1.4 and autoconf 2.13 (per suggestions
Wed Jan 20 22:09:59 EST 1999 Mandrake <mandrake@mandrake.net>

    * configure.in / Makefile.am : made some adjustments for automake 1.4
    and autoconf 2.13 (per suggestions made by  Raja R Harinath
    <harinath@cs.umn.edu>)
1999-01-21 03:14:53 +00:00
EST 1999 Mandrake
5f6fea52c9 automake 1.4 and libtool 1.2d notices. (maybe I'll write an actual test
Wed Jan 20 20:33:14 EST 1999 Mandrake <mandrake@mandrake.net>

    * autogen.sh: automake 1.4 and libtool 1.2d notices.
    (maybe I'll write an actual test for automake 1.4 later)
1999-01-21 01:37:23 +00:00
Manish Singh
c01596714f new file
* HACKING: new file

* Makefile.am: since we require automake 1.4 now, ditch the build
top-level first and just use SUBDIRS

* gmodule/Makefile.am: use noinst_LTLIBRARIES instead of overriding
the install rule

-Yosh
1999-01-20 23:06:30 +00:00
Jeff Garzik
e0015d5a27 jgarzik enthusiastically applies a patch 1999-01-20 21:21:24 +00:00
GMT 1999 Adam D. Moss
e4199bbcaf All gtk apps were broken here on my setup. I changed the error to a
Wed Jan 20 20:48:58 GMT 1999  Adam D. Moss  <adam@gimp.org>

        * gutils.c (g_get_any_init): All gtk apps were broken
        here on my setup.  I changed the error to a warning to at
        least get things limping.
1999-01-20 20:52:42 +00:00
Sebastian Wilhelmi
8c54935c34 Use getpwuid_r with the right signature, if available.
1999-01-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_any_init): Use getpwuid_r with the right
	signature, if available.

	* configure.in, acconfig.h: Test for existance of getpwuid_r and
	its signature.
1999-01-20 15:06:46 +00:00
Tor Lillqvist
32dbc0d51c More Win32 updates. Add missing Win32 files to distributed files.
Remove the obsolete makefile.lcc.
1999-01-19 21:13:59 +00:00
Sebastian Wilhelmi
3907664db4 Moved test for localtime_r and rand_r to a place after the determination
1999-01-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Moved test for localtime_r and rand_r to a place
	after the determination of the G_THREAD_LIBS and use them for
	finding those functions, necessary on systems with a different C
	library libc_r for threaded progs, like FreeBSD 2.2.x. Info from
	Timur I. Bakeyev <timur@comtat.ru>.
1999-01-19 12:45:10 +00:00
Josh MacDonald
e6c71cedb9 The "extern char* sys_siglist" declaration breaks systems with different
Tue Jan 19 00:44:24 1999  Josh MacDonald  <jmacd@axis.hip.berkeley.edu>

	* gstrfuncs.c (g_strsignal): The "extern char* sys_siglist"
	declaration breaks systems with different declarations, like
	mine (FreeBSD).  So, I added a configuration variable to decide
	whether the declaration is neccesary.  Change also appears on
	line 275 of configure.in.
1999-01-19 09:07:28 +00:00
CST 1999 Shawn T. Amundson
a478fc7a3f Released GLib 1.1.13
Sun Jan 17 17:13:54 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.13

        * README:
          INSTALL:
          docs/glib-config: ver=1.1.13
1999-01-17 23:38:55 +00:00
Tim Janik
616c485dc7 updates for 1.1.13.
Mon Jan 18 00:02:46 1999  Tim Janik  <timj@gtk.org>

        * NEWS: updates for 1.1.13.
1999-01-17 23:08:36 +00:00
Tim Janik
82801232db fixed assertment vs. assertion 1999-01-17 19:13:47 +00:00
Tim Janik
6db5c264f9 removed assertment about rtree->root being NULL, so this function can be
Sun Jan 17 17:15:59 1999  Tim Janik  <timj@gtk.org>

        * gtree.c (g_tree_traverse): removed assertment about rtree->root being
        NULL, so this function can be applied to unpopulated trees as well, fix
        provided by Simon Kagedal <sika8225@csd.uu.se>.
1999-01-17 16:56:28 +00:00
Christopher Blizzard
48763aea23 add packager address
Sun Jan 17 11:17:19 1999 Christopher Blizzard  <blizzard@appliedtheory.com>

        * glib.spec: add packager address
1999-01-17 16:24:11 +00:00
Christopher Blizzard
2c119ccad8 increment version number to 1.1.13
1999-01-17  Christopher Blizzard  <blizzard@appliedtheory.com>

        * glib.spec: increment version number to 1.1.13
1999-01-17 15:57:35 +00:00
Tim Janik
8ad2623ded if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as ((gchar*) 0) instead of
Sun Jan 17 16:14:03 1999  Tim Janik  <timj@gtk.org>

        * glib.h (g_error): if !defined (G_LOG_DOMAIN) define G_LOG_DOMAIN as
        ((gchar*) 0) instead of ((void*) 0) to silence egcs C++ mode, reported
        by Seth Alves <alves@hungry.com>.
1999-01-17 15:21:28 +00:00
Tim Janik
5c2fb3762f added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
Sun Jan 17 14:13:52 1999  Tim Janik  <timj@gtk.org>

        * glib.h: added a define G_HOOK_DEFERRED_DESTROY, to substitute a noop
        GHookList.hook_destroy function.

        * ghook.c (g_hook_destroy_link): don't really call hook_destroy if it
        is G_HOOK_DEFERRED_DESTROY. for the case where we invoke hook->destroy()
        we now clean up the hook completely afterwards, i.e. data, func and
        destroy are immediately set to NULL and hook_free can't play with that
        values anymore.

        * gmain.c (g_source_add): set hook_destroy to G_HOOK_DEFERRED_DESTROY,
        instead of using an ugly _noop() hack, this is to avoid an uneccessary
        function invokation. set hook_free to g_source_destroy_func, this way
        we always invoke the destroy notifiers for user_data and source_data
        after execution of dispatch(). thus, g_source_destroy_func() will always
        be called within the main_loop lock (this wasn't really assured
        before), and can release and reaquire the look around destroy notifier
        invokation.
1999-01-17 14:52:20 +00:00
Tor Lillqvist
04d3d1b219 Oops, ChangeLog entries too, of course. 1999-01-17 11:20:31 +00:00
Tim Janik
08425ac4c2 incremented version number to 1.1.13, bin age 0, interface age 0.
Sun Jan 17 05:12:17 1999  Tim Janik  <timj@gtk.org>

        * configure.in: incremented version number to 1.1.13, bin age 0,
        interface age 0.

        * glib.h: added hook_destroy member to struct _GHookList.

        * ghook.c (g_hook_destroy_link): if the hook_list defines a hook_destroy
        function, use that to marshal hook destruction notifiers.

        * gmain.c: removed g_source_free_func and added g_source_destroy_func,
        which marshalls the user_data and source_data destructors of sources
        outside of the main_loop lock.
        removed GIdleData struct since its single member callback can be passed
        as source_data directly.
        added a gboolean return value to all g_source_remove* functions,
        indicating whether the source could be removed, because these functions
        don't issue warnings upon unseccessful removals themselves. this way at
        least the caller gets a chance to warn upon failing removals.
        (g_main_iterate): set in_check_or_prepare around calls to check() or
        prepare().
        (g_main_pending): simply return FALSE if called from within check() or
        prepare().
        (g_main_iteration): issue a warning if called from within check() or
        prepare() and bail out with FALSE.
        (g_main_run): likewise.
        (g_source_remove_by_funcs_user_data): new function to remove sources by
        user data and function table.
        (g_idle_remove_by_data): new function to really remove idles only, since
        g_source_remove_by_user_data would remove timeouts or other sources as
        well.
1999-01-17 04:49:43 +00:00
Tor Lillqvist
f477518c3a Merge in current Win32 version. Almost no Unix code touched.
* README.win32: More text.

	* config.h.win32 glibconfig.h.win32: Update to match the
	corresponding generated files on Unix.

	* makefile.msc: Update with new source files, and gthread
 	library. Use the compiler flag -MD instead of using -D_DLL and
	"/nodefaultlib:libc msvcrt.lib" in the link phase.

	* glib.def: Include new functions, drop removed ones.

	* glib.h: Add comments about main loop and polling on Win32. (In
	general, it's only for the GIMP's use.) Add Win32 IO Channel
	functions. Remove the obsoleted old IO Channel stuff (which was
	in #if 0 already).

	* giowin32.c: New file.

	* gmain.c: Include config.h, conditionalize <sys/time.h>
 	inclusion.  Add g_poll implementation for Win32 (only for the
 	GIMP's needs for now, it's hard or even impossible to be as clean
 	and generic as on Unix). Implement g_get_current_time on Win32. If
 	threads aren't supported, don't try to wake up main thread's
 	loop. On Win32, use a semaphore and not a pipe to wake up the main
 	loop.

	* gmessages.c: On Win32, allocate a console window if the standard
	output handle is invalid before writing to stdout, and reopen stdout
	to that console window.

	* giochannel.c: Conditionalize unistd.h inclusion. Some indentation
	cleanup.

	* gstrfuncs.c: Include <signal.h>.

	* gutils.c: On Win32, also check the HOMEDRIVE and HOMEPATH
	environment variables.

	* gmodule-dl.c gmodule-dld.c: In
 	_g_module_build_path, don't add the "lib" prefix and
 	".so" or ".sl" suffix if already there.

	* gmodule-win32.c: Likewise for the ".dll" suffix.

	* gthread-posix.c: Conditionalize <sys/time.h> inclusion.
1999-01-16 23:46:42 +00:00
Timur I. Bakeyev
883776f035 Add support for pthreads under FreeBSD 2.2.[7|8]
Add support for pthreads under FreeBSD 2.2.[7|8]
1999-01-16 22:45:18 +00:00
Manish Singh
b9dd5bc19c don't use inline for !__GNUC__ case with g_warning, g_error, and g_message
* glib.h: don't use inline for !__GNUC__ case with g_warning,
g_error, and g_message wrappers since some compilers throw
away arguments in this case

-Yosh
1999-01-13 19:30:15 +00:00
Manish Singh
5afc0d6cf4 acinclude.m4 ltconfig upgrade to libtool 1.2d (with fixes for irix6 and
* acinclude.m4
* ltconfig
* ltmain.sh: upgrade to libtool 1.2d (with fixes for irix6 and osf)

* testglib.c: removed unused cruft

-Yosh
1999-01-13 06:47:03 +00:00
Manish Singh
bf5993b9bb #warning isn't portable, check for gcc
-Yosh
1999-01-12 17:58:26 +00:00
Sebastian Wilhelmi
3ed6ad5a17 Ops, forgot to save ChangeLog before commiting.
Ops, forgot to save ChangeLog before commiting.
1999-01-12 14:24:17 +00:00
Jeff Garzik
b4c62873da alloca and vasprintf go away 1999-01-11 20:24:28 +00:00
Sebastian Wilhelmi
3afce8ea0a Find right thread system on DG/UX. Thanks to Marc J. Fraioli
1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Find right thread system on DG/UX. Thanks to Marc
	J. Fraioli <fraioli@dg-rtp.dg.com> for hint. Finally removed the
	stuff for -fstack-check, that didnt work anyway.
1999-01-11 17:12:18 +00:00
Sebastian Wilhelmi
e5e86f8c6c Test for localtime_r only after including the right MT enabling CFLAGS
1999-01-11  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Test for localtime_r only after including the
	right MT enabling CFLAGS (i.e. -D_REENTRANT on most systems).

	* gdate.c (g_date_set_time): Emit warning, if no localtime_r
	function is available on thread enabled systems. Define ptm only,
	if really needed, and assert on it.
1999-01-11 14:41:07 +00:00
Jeff Garzik
5eeca0d62d Make all aux functions static.
* testglib.c:
        Make all aux functions static.

        * tests/Makefile.am, tests/dirname-test.c, tests/type-test.c:
        New tests dirname-test and type-test, from testglib.
1999-01-09 20:10:45 +00:00
Jeff Garzik
2a6789be13 Add checks for vasprintf, localtime_r.
* configure.in:
        Add checks for vasprintf, localtime_r.

        * gdate.c (g_date_set_time):
        Use localtime if localtime_r is not available.

        * gstrfuncs.c (g_strdup_vprintf):
        Use glibc vasprintf if possible; it's a bit faster than using
        GLib routines, and makes output code a bit smaller.

        * acconfig.h:
        Remove HAVE_VSNPRINTF and HAVE_VPRINTF.  autoheader picks these
        up automatically and puts them in config.h.in.
1999-01-09 19:14:16 +00:00
Owen Taylor
dc60286631 Call the source-specific free function when the hook is freed not when it
Thu Jan  7 15:14:08 1999  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_source_free_func): Call the source-specific
	free function when the hook is freed not when it
	is destroyed; this fixes a bug where a timeout destroyed
	from itself would access already freed data.
1999-01-07 20:12:19 +00:00
Sebastian Wilhelmi
81f8d0bb10 Here we must replace getpwuid by getpwuid_r, but as I do not know how for
1999-01-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gutils.c (g_get_any_init): Here we must replace getpwuid by
	getpwuid_r, but as I do not know how for now, I just made a FIXME
	note ;-)

	* gdate.c (g_date_set_time): localtime --> localtime_r to make it
	thread safe.

	* configure.in: We do not need to check for broken solaris mutex
	intitializer any longer. Provide a macro to show the used thread
	implementation. Not nice, but this is needed until thread support
	is completed here inside glib.

	* gthread/testgthread.c: conditionally compile according to the
	G_THREADS_IMPL_??? macros.
	(test_private_func): use rand_r instead of rand to make it
	thread safe.
1999-01-07 16:17:42 +00:00
Manish Singh
9200f44462 Eep, forgot ChangeLog for my last commit
-Yosh
1999-01-06 20:19:49 +00:00
Andrew T. Veliath
aaf8f430e0 fix macro to be shorthand of g_array_insert_vals.
* glib.h (g_array_insert_val): fix macro to be shorthand of
	g_array_insert_vals.
1999-01-05 00:33:10 +00:00
Manish Singh
6927b5b477 some echos interpret \n's and some don't. Deal with accordingly.
* acglib.m4: some echos interpret \n's and some don't. Deal with
accordingly.

-Yosh
1999-01-04 23:37:40 +00:00
Tim Janik
250d1a07bb eliminated extraneous "register" qualifiers in variable declarations.
Mon Jan  4 20:58:50 1999  Tim Janik  <timj@gtk.org>

        * gscanner.c: eliminated extraneous "register" qualifiers in variable
        declarations.

        * gmain.c: #undef events and revents which may have been defined in
        sys/poll.h for SVR3,4 compatibility on some AIX systems. fix been
        provided by Philippe Defert <Philippe.Defert@cern.ch>.
1999-01-04 20:09:59 +00:00
Tim Janik
72b139a74d adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros so their
Mon Jan  4 14:38:11 1999  Tim Janik  <timj@gtk.org>

        * glib.h: adjusted the g_strdup_a, g_strndup_a and g_strconcat3_a macros
        so their arguments get only evaluated once. changed g_strconcat3_a to
        have the same semantics as g_strconcat, i.e. if a certain argument is
        NULL, the rest of the parameter list is skipped.

        * tests/alloca-test.c: removed #if/#endif G_HAVE_ALLOCA, we need to be
        able to compile on all systems. added test for g_strconcat() semantics.

        * we need a alloca() replacement for !G_HAVE_ALLOCA rsn!
1999-01-04 13:49:05 +00:00
CST 1999 Shawn T. Amundson
887c4449d9 Released GLib 1.1.12
Mon Jan  4 02:58:13 CST 1999 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.12

        * INSTALL:
          NEWS:
          README:
          configure.in:
          glib.spec:
          docs/glib-config.1: version=1.1.12

        * tests/Makefile.am: fixed so it works properly with
          builddir and srcdir.
1999-01-04 10:07:44 +00:00
Jeff Garzik
e5795df8fd Add tree test. 1999-01-03 07:37:47 +00:00
Jeff Garzik
4b72e45233 add array-test.c
* tests/Makefile.am:
        add array-test.c

        * tests/array-test.c:
        New module, tests array family

        * tests/hash-test.c, tests/list-test.c, tests/slist-test.c,
          tests/string-test.c, tests/node-test.c:
        Clean out cruft left over from testglib.
1999-01-03 06:44:45 +00:00
Jeff Garzik
0b74f03e70 Added 'make check' tests, based on testglib code. 1999-01-03 03:42:59 +00:00
Jeff Garzik
81224ac5ac Added g_alloca, g_new_a, g_new0_a macros. 1999-01-03 00:53:58 +00:00
Jeff Garzik
ab114d33f7 Added g_strdup_printf check 1999-01-02 21:45:39 +00:00
Jeff Garzik
bbbfe78d70 Handle NULL strings like g_strdup. s/g_strconcat_a/g_strconcat3_a/ to
* glib.h:
        (g_strdup_a, g_strndup_a): Handle NULL strings like g_strdup.
        s/g_strconcat_a/g_strconcat3_a/ to reflect fixed number of args

        * testglib.c:
        Added g_strdup, g_strconcat checks.
        Added str==NULL checks for alloca string macros.
        s/g_strconcat_a/g_strconcat3_a/
1999-01-02 03:05:36 +00:00
Manish Singh
3de4d2b781 made the alloca tests follow the testglib style
* testglib.c: made the alloca tests follow the testglib style

* Makefile.am: minor cleanups, mostly cosmetic

-Yosh
1999-01-02 02:40:39 +00:00
Jeff Garzik
58aaa9d32b added g_strndup_a macro
* glib.h: added g_strndup_a macro

        * testglib.c:
        Added tests for new alloca-based string routines.
        Reformatted a couple strings.
1999-01-02 01:51:08 +00:00
Tim Janik
00e064d2af avoid unneccessary extra hook referencing (the explicit hook referencing
Sat Jan  2 02:20:59 1999  Tim Janik  <timj@gtk.org>

        * ghook.c:
        (g_hook_list_invoke):
        (g_hook_list_invoke_check):
        (g_hook_list_marshal_check):
        (g_hook_list_marshal): avoid unneccessary extra hook referencing (the
        explicit hook referencing became unneccessarry with my changes from
        Mon Dec 21 21:48:29 1998).

        * gmain.c (g_main_iterate): fixed reference counting leaks with
        premature loop aborts.

Fri Jan  1 22:47:44 1999  Tim Janik  <timj@gtk.org>

        * gscanner.c (g_scanner_unexp_token): handle G_TOKEN_IDENTIFIER_NULL
        as G_TOKEN_IDENTIFIER.
1999-01-02 01:32:37 +00:00
Jeff Garzik
0e2f565f14 Added two new alloca-based function macros, g_strdup_a and g_strconcat_a.
* configure.in, glib.h:
        Added two new alloca-based function macros, g_strdup_a and
        g_strconcat_a.  These are stack-based and much faster than
        their g_malloc-based counterparts.  Kudos to Ulrich Drepper
        for help on this one.
1999-01-01 23:35:26 +00:00
CST 1998 Shawn T. Amundson
c3dc4fafbf Released GLib 1.1.11
Wed Dec 30 18:24:57 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.11

        * INSTALL:
          NEWS:
          README:
          configure.in:
          docs/glib-config.1: version=1.1.11
1998-12-31 02:21:53 +00:00
Raja R Harinath
3558437281 Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.
* glib.h (G[U]INT64_FROM_{LE,BE}):
Define to G[U]INT64_TO_{LE,BE}, not G[U]INT32_TO_{LE,BE}.

Wonder why it wasn't caught before.
1998-12-30 22:53:37 +00:00
Manish Singh
6e7e2575d7 acglib.m4 provide defaults for POLL sysdefs, simple enums don't work with
* acglib.m4
* configure.in: provide defaults for POLL sysdefs, simple enums
don't work with bitwise logic. Reported by Daniel Skarda
<0rfelyus@atrey.karlin.mff.cuni.cz>

-Yosh
1998-12-26 03:58:06 +00:00
CST 1998 Shawn T. Amundson
b13a3368b3 Released GLib 1.1.10
Wed Dec 23 00:43:25 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.10

        * INSTALL:
          NEWS:
          README:
          configure.in:
          docs/glib-config.1: version=1.1.10
1998-12-24 14:55:56 +00:00
George Lebl
4277349743 don't cast to timeval since timeval is for some reason not always a struct
Wed Dec 23 04:18:11 1998  George Lebl  <jirka@5z.com>

        * gmain.c: (g_get_current_time) don't cast to timeval since
          timeval is for some reason not always a struct of longs, weird
1998-12-23 12:18:36 +00:00
Tim Janik
fc323595ff fixed buglet that could cause bogus warnings.
Tue Dec 22 10:32:11 1998  Tim Janik  <timj@gtk.org>

        * ghook.c (g_hook_first_valid): fixed buglet that could cause bogus
        warnings.
1998-12-22 10:09:28 +00:00
Tim Janik
097c9b1798 there was a reference count race for hooks during invocation loops. since
Mon Dec 21 21:48:29 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmain.c: there was a reference count race for hooks during invocation
        loops. since all (known) hook loop implementations, do currently start
        out with g_hook_first_valid() and iterate with g_hook_next_valid(),
        g_hook_first_valid() will now return a referenced hook, and
        g_hook_next_valid() will "eat" that, and eventually transfer it to
        the next hook. <sigh> unfortunately this requires g_hook_next_valid()
        to take the hook_list as additional argument.

        * gmain.c (g_main_iterate): adjusted callers of g_hook_next_valid().
1998-12-21 21:43:00 +00:00
Tim Janik
85755f7e77 default initialize source_timeout with -1 so we have a sane timeout value
Mon Dec 21 03:48:04 1998  Tim Janik  <timj@gtk.org>

        * gmain.c (g_main_iterate): default initialize source_timeout with -1
        so we have a sane timeout value if (*prpare) doesn't set it.
1998-12-21 03:28:25 +00:00
Owen Taylor
7f237f6fcd Add #defines defining scale of priorities.
Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>

	* glib.h gmain.c (G_PRIORITY_LOW): Add #defines defining
	scale of priorities.
1998-12-19 22:21:39 +00:00
Owen Taylor
bb19315fbd Allocate space for pollfd's _after_ adding poll wake-up-pipe record.
Sat Dec 19 16:56:02 1998  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_main_poll): Allocate space for pollfd's
	_after_ adding poll wake-up-pipe record.

	* gmain.c (g_main_add_poll): Changed name
	of internal function g_main_add_poll_unlocked()
	back from the non-sensical g_main_add_unlocking_poll().
1998-12-19 22:11:49 +00:00
Tim Janik
ce257b8137 fixed a minor bug that would let configures bail out if the MODULES
Sat Dec 19 06:25:55 1998  Tim Janik  <timj@gtk.org>

        * glib.m4: fixed a minor bug that would let configures bail out
        if the MODULES argument contained newlines.

        * acglib.m4: new file to be included by configure.in. it holds
        special GLIB_ autoconfiguration macros, eventually some of the
        easier ones should be moved into glib.m4, e.g. GLIB_IF_VAR_EQ,
        GLIB_STR_CONTAINS or GLIB_ADD_TO_VAR.
1998-12-19 06:24:26 +00:00
Tim Janik
e0153773a6 fixed up sys/poll.h and sys/types.h inclusions.
Sat Dec 19 04:27:17 1998  Tim Janik  <timj@gtk.org>

        * fixed up sys/poll.h and sys/types.h inclusions.
1998-12-19 03:44:30 +00:00
Tim Janik
c0c488e4ba fixed up gthread includes, cleaned up glibconfig.h a little bit.
Sat Dec 19 03:10:50 1998  Tim Janik  <timj@gtk.org>

        * fixed up gthread includes, cleaned up glibconfig.h a little bit.
1998-12-19 02:13:34 +00:00
Owen Taylor
2623d2831a Dec 18 12:51:39 1998 Owen Taylor <otaylor@redhat.com>
* gmain.c: Fix errors in computation of timeout
	expiration times > 1sec.
1998-12-18 17:52:18 +00:00
Sebastian Wilhelmi
ab4b645486 Changed the last pthread_cond_init to pthread_attr_init.
1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in (have_threads): Changed the last pthread_cond_init
	to pthread_attr_init.

1998-12-18  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* testgthread.c (new_thread): As a joinable thread seems to be the
	default on posix, leave the explicit setting out, as it causes
	problems on some older platforms.
1998-12-18 09:20:52 +00:00
Tim Janik
8be41eae4d new function to check whether a main loop has been quitted. (g_main_new):
Fri Dec 18 00:03:17 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmain.c:
        (g_main_is_running): new function to check whether a main loop has been
        quitted.
        (g_main_new): added a gboolean argument to determine whether the loop
        should be considered initially running or not. however, g_main_run ()
        will still reset the main loops running state to TRUE upon initial
        entrance.

        * gmain.c:
        (g_main_iterate): documented this function's purpose in 5 steps.
        for step 2), flag sources as G_SOURCE_READY even if !dispatch and
        check G_SOURCE_READY prior to (*prepare), so we don't call (*prepare)
        on them multiple times.

Thu Dec 17 23:43:47 1998  Tim Janik  <timj@gtk.org>

        * gmain.c (g_main_add_poll): reordered arguments, so GPollFD* comes
        first, <sigh> (sorry Snorfle, i should have let you know in the first
        place).
        (g_main_dispatch): stack G_HOOK_FLAG_IN_CALL flags. call source's
        destructor when destroying a source.
1998-12-18 02:23:33 +00:00
Sebastian Wilhelmi
c3c1b2edc0 Fixed size in g_memmove, reported by Alexander Larsson
1998-12-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* garray.c (g_ptr_array_remove_index): Fixed size in g_memmove,
	reported by Alexander Larsson <alla@lysator.liu.se>.

	* gmem.c: Fixed bug, that made compile fail for -DENABLE_MEM_PROFILE.
1998-12-17 08:02:38 +00:00
CST 1998 Shawn T. Amundson
d9fca59e2a Released GLib 1.1.9
Wed Dec 16 23:04:26 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.9

        * INSTALL:
          NEWS:
          README:
          configure.in:
          glib.spec:
          docs/glib-config.1: version=1.1.9
1998-12-17 05:16:29 +00:00
CST 1998 Shawn T. Amundson
77ccad4d2f giounix.c: s/g_main_poll_add/g_main_remove_add/g
Wed Dec 16 22:32:13 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * glib.h:
          giounix.c: s/g_main_poll_add/g_main_remove_add/g
                     s/g_main_poll_remove/g_main_remove_poll/g
                     s/g_main_poll_add_unlocking/g_main_add_unlocking_poll/g
          (from Tim Janik)

        * gthread-posix.c: use g_free in mutex_free (from Tim Janik)
1998-12-17 04:36:04 +00:00
Manish Singh
6166dd889d check for pthread_attr_init in all cases, du4 needs this since most of the
other functions are just #defines

-Yosh
1998-12-17 04:08:33 +00:00
Tim Janik
a62ebb0e75 if !G_THREADS_ENABLED, eat the trailing semicolon with a bogus function
Thu Dec 17 04:10:49 1998  Tim Janik  <timj@gtk.org>

        * glib.h (G_LOCK_DECLARE_*): if !G_THREADS_ENABLED, eat the
        trailing semicolon with a bogus function declaration, instead
        of with a bogus variable declarations, so we avoid unused
        variable warnings.
1998-12-17 04:06:27 +00:00
PST 1998 Shawn T. Amundson
5f26d8d9a2 Released GLib 1.1.8 (CVS tag is GLIB_1_1_8a)
Wed Dec 16 07:49:16 PST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.8  (CVS tag is GLIB_1_1_8a)
1998-12-16 15:51:40 +00:00
Sebastian Wilhelmi
3e01bbaafb Fixed small bug.
1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* giounix.c (g_io_channel_unix_get_fd): Fixed small bug.
1998-12-16 14:57:42 +00:00
Joel Becker
053793d72a changed func_data to user_data for g_scanner_scope_symbol_foreach() 1998-12-16 14:41:18 +00:00
Sebastian Wilhelmi
c9cc6c858e Fixed stupid bug, that made g_static_mutex_lock(*mutex) not work as
1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Fixed stupid bug, that made
	g_static_mutex_lock(*mutex) not work as expected.
1998-12-16 10:32:12 +00:00
Sebastian Wilhelmi
2e57a36438 Updated to reflect the existence of gthread.
1998-12-16  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* docs/glib-config.1: Updated to reflect the existence of gthread.

	* gmain.c (g_main_poll_add_unlocking): Changed
	g_main_poll_add_unlocked to g_main_poll_add_unlocking to match
	semantic, (indeed, main_loop must be locked, when calling this
	function). Removed the unlocking from the end of that function, as
	that is not right. Made a 'HOLDS' comment above the function.
1998-12-16 09:34:30 +00:00
Tim Janik
b2e318ff3e version bump to 1.1.8, binary age 0, interface age 0.
Wed Dec 16 03:16:58 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.8, binary age 0, interface age 0.

        * glib.h: changed g_lock() to G_LOCK(), g_unlock() to G_UNLOCK() and
        g_trylock() to G_TRYLOCK(), since these are macros that expand to
        nothing with --disable-threads.
        changed G_LOCK_DEFINE() to G_LOCK_DECLARE() and introduced
        G_LOCK_DECLARE_STATIC() to achive the results of static G_LOCK_DECLARE().
        changed semantics of g_thread_supported to g_thread_supported() so it
        can be used as a function like g_module_supported(). the actuall
        definition is still a macro that expands into a variable for
        performance reasons though.
        various indentation and coding style cleanups.

        * configure.in: added --enable-threads that defaults to yes.

        * gmutex.c: changed tests g_thread_supported to g_thread_supported (),
        changed variable settings of g_thread_supported
        to g_threads_got_initialized.

        garray.c:
        gcache.c:
        gdataset.c:
        gdate.c:
        ghash.c:
        glist.c:
        gmain.c:
        gnode.c:
        gslist.c:
        gstring.c:
        gtree.c:
        gutils.c:
        changed s/g_lock/G_LOCK/, s/g_unlock/G_UNLOCK/,
        s/static G_LOCK_DEFINE/G_LOCK_DECLARE_STATIC/.
1998-12-16 05:38:35 +00:00
CST 1998 Shawn T. Amundson
06600bd0e6 Released GLib 1.1.8
Tue Dec 15 23:16:05 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.8
1998-12-16 05:18:43 +00:00
Joel Becker
541f70beff fixed error for AIX thread detection 1998-12-16 03:32:14 +00:00
Tim Janik
2315f93ecb fixed library and flag ordering for --libs
Wed Dec 16 02:02:48 1998  Tim Janik  <timj@gtk.org>

        * glib-config.in (lib_glib): fixed library and flag ordering for
        --libs
1998-12-16 01:29:18 +00:00
Owen Taylor
05d49ddbd3 Use an "inheritance" scheme for IO channel memory allocation.h
Tue Dec 15 17:17:46 1998  Owen Taylor  <otaylor@redhat.com>

	* glib.h giounix.c giochannel.c: Use an "inheritance"
	scheme for IO channel memory allocation.h
1998-12-15 22:30:15 +00:00
Havoc Pennington
e02079098f Solaris has a broken strftime that produced garbage output for the test
1998-12-15  Havoc Pennington  <hp@pobox.com>

* gdate.c (g_date_prepare_to_parse): Solaris has a broken strftime
that produced garbage output for the test date I was using to
set up the parser. So use a different date that Solaris seems
to like.
1998-12-15 18:50:53 +00:00
Sebastian Wilhelmi
d98c425676 Dont complain, if --without-threads or --with-threads=none is supplied;
1998-12-15  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Dont complain, if --without-threads or
	--with-threads=none is supplied; Test for pthread_attr_init
	instead of pthread_cond_init, if threads seems to be supported by
	standard glib. (CFLAGS): Use G_THREAD_CFLAGS for compiling of glib
	as well.

	* glib.h, gmutex.c: Changed private to private_key to avoid
	problems when compiling with under C++.
1998-12-15 17:50:47 +00:00
Jeff Garzik
961205a025 Bugfixes to autoconf thread lib detection 1998-12-15 17:18:39 +00:00
Jeff Garzik
5c31783df2 Fixed --with-threads, small 64-bit prob 1998-12-15 15:47:13 +00:00
Owen Taylor
dcd0c664b7 Make sure all calls to g_node_validate_allocator are within
Tue Dec 15 10:40:09 1998  Owen Taylor  <otaylor@redhat.com>

	* gnode.c glist.c gslist.c: Make sure all
	calls to g_node_validate_allocator are within
	current_allocator lock, so we have consistency
	on that point. (Should not really matter,
	but this way we match the comments)

	* glist.c (g_list_free_1): Removed some lines
	that should never have been committed. (For
	debugging)
1998-12-15 15:40:01 +00:00
Owen Taylor
931ea95265 This commit merges the glib-threads branch into the main
branch. See the ChangeLog for details of the changes.

In brief overview:

 - The set of threading functions can be set
 - A default implementation is provided in -lgthread
 - All static data structures are locked using these
   functions if g_thread_init() is called.
1998-12-15 05:28:02 +00:00
Tim Janik
c8ba100dab always define G_HAVE_INLINE if __cplusplus is defined, reported by Wan-Teh
Sat Dec 12 19:08:59 1998  Tim Janik  <timj@gtk.org>

        * configure.in: always define G_HAVE_INLINE if __cplusplus is
        defined, reported by Wan-Teh Chang <wtc@netscape.com>.
1998-12-13 00:09:27 +00:00
CST 1998 Shawn T. Amundson
1f199b4e7b Released GLib 1.1.7
Thu Dec 10 21:49:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.7

        * INSTALL:
          NEWS:
          README:
          configure.in:
          glib.spec:
          docs/glib-config.1: Increased version to 1.1.7
1998-12-11 06:10:08 +00:00
Joel Becker
79c4245dc6 removed redefinition of G_COMPILED_WITH_DEBUGGING from glibconfig.h 1998-12-10 03:54:27 +00:00
CST 1998 Shawn T. Amundson
f15056ba84 Released GLib 1.1.6
Tue Dec  8 12:18:38 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.6

        * NEWS: updated
1998-12-09 00:59:14 +00:00
Manish Singh
738864a1a7 fixes to #undef HAVE_POLL case
-Yosh
1998-12-08 07:11:54 +00:00
Havoc Pennington
b94d7a72f0 If Julian is valid, we have to update the dmy representation before
1998-12-02  Havoc Pennington  <hp@pobox.com>

* gdate.c (g_date_set_month): If Julian is valid, we have to
update the dmy representation before setting the components
of it.
(g_date_set_day): Same.
(g_date_set_year): Same.
1998-12-02 23:47:02 +00:00
Havoc Pennington
98e5d88bbe Two new files. This is kind of ugly code, but I want to go ahead and make
1998-12-02  Havoc Pennington  <hp@pobox.com>

* testgdate.c, testgdateparser.c: Two new files. This is kind of
ugly code, but I want to go ahead and make the tests available.
It isn't contaminating any other code. :-) Since one of these
is interactive and the other takes a while to run, I've kept
them separate from testglib for now.
* Makefile.am: Build gdate test programs.
1998-12-02 20:20:35 +00:00
Havoc Pennington
be9a81ed8e Oops, I copied this into the log message but didn't commit the file. 1998-12-02 19:54:48 +00:00
Owen Taylor
beab982e3b Merge main loop into head. This probably breaks Win32, until
someone does the necessary updates.

Sat Nov 28 12:53:47 1998  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am configure.in acconfig.h giochannel.c
	  glib.h glist.c gmain.c gutils.c:

        - Revised GIOChannel to provide a generic virtual-function
  	  based interface.
	- Added unix fd-based GIOChannel's
	- Added generic main-loop abstraction
	- Added timeouts and idle functions using main-loop abstraction.
1998-12-02 14:55:27 +00:00
Sebastian Wilhelmi
c8477277fe changed `gpointer struct_tm_p' parameter of g_date_to_struct_tm back to
1998-12-02  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h:
	* gdate.c: changed `gpointer struct_tm_p' parameter of
	g_date_to_struct_tm back to `struct tm *tm' and forward declared
	`struct tm' in glib.h; yes, this is nice, we still need not
	include time.h.
1998-12-02 09:07:18 +00:00
CST 1998 Shawn T. Amundson
e37b4d00a4 NEWS: README: glib.spec: docs/glib-config.1: Incremented versions to
Tue Dec  1 23:01:44 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * INSTALL:
          NEWS:
          README:
          glib.spec:
          docs/glib-config.1: Incremented versions to 1.1.6.
1998-12-02 05:30:22 +00:00
Tim Janik
2886be294a s/time_t/GTime/ and s/g_print/g_message/ include time.h.
Wed Dec  2 02:10:59 1998  Tim Janik  <timj@gtk.org>

        * gdate.c: s/time_t/GTime/ and s/g_print/g_message/
        include time.h.

        * glib.h: removed #include <time.h>, changed time_t paramter of
        g_date_set_time() to time_t, changed struct tm parameter of
        g_date_to_struct_tm to `gpointer struct_tm_p'. yes, this is not
        nice, but including time.h actually breaks a bunch of code.
1998-12-02 02:24:14 +00:00
Havoc Pennington
a3e59c3ebf There are outstanding issues, but they should be resolvable in-place. If
this breaks something let me know and I will fix it.

1998-11-30  Havoc Pennington  <hp@pobox.com>

* gdate.c: New file, implements calendrical calculations.

* glib.h: Added declarations for GDate module.
1998-12-01 20:24:32 +00:00
Tim Janik
958f33656a added g_hook_list_marshal_check() to eventually destroy hooks after they
Mon Nov 30 07:12:10 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c: added g_hook_list_marshal_check() to eventually destroy
        hooks after they got marshalled.
1998-11-30 07:08:54 +00:00
Jeff Garzik
e54410edc2 Put -DFOO stuff into Makefile.am INCLUDES. 1998-11-29 22:47:07 +00:00
Manish Singh
4f0565f380 put debug -DFOO stuff into CPPFLAGS, not CFLAGS, so CFLAGS can be
* configure.in: put debug -DFOO stuff into CPPFLAGS, not CFLAGS,
so CFLAGS can be overridden at make time properly

-Yosh
1998-11-29 22:21:13 +00:00
Tim Janik
e666e8125f implemented incremental freezing facility.
Sat Nov 28 01:23:25 1998  Tim Janik  <timj@gtk.org>

        * ghash.c: implemented incremental freezing facility.
1998-11-28 01:54:54 +00:00
Tim Janik
3a14f25fdf reverted the g_hash_table_set_key_freefunc() addition, since it's to
Thu Nov 26 01:36:20 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghash.c: reverted the g_hash_table_set_key_freefunc() addition,
        since it's to specialized and needs to be resolved in a generic
        fashion.
1998-11-26 00:42:14 +00:00
PST 1998 Manish Singh
61bdacfb59 applied glib-tml-981120-0, change log appended below.
Tue Nov 24 18:57:59 PST 1998 Manish Singh <yosh@gimp.org>

        * applied glib-tml-981120-0, change log appended below.

        * glibconfig.h.win32: passthrough 64-bit constants unchanged, VC++
        infers them

Fri Nov 20 22:26:43 1998  Tor Lillqvist  <tml@iki.fi>

        * glib.h: Moved MSC pragmas from glib.h to glibconfig.h.win32.
        peer_offset field in WIN32 part of GIOChannel removed, need_wakeups
        added. Added "extern" to __declspec(dllimport).

        * gutils.c: Initialise need_wakeups.

        * glibconfig.h.win32: Pragmas moved here. Define G_GINT64_CONSTANT.

        * gmodule/gmodule.def: Added g_module_build_path.

        * gscanner.c: (g_scanner_cur_value) Move initailisation of v
        to before its use.

        * glib.def: Added g_(s)list_sort.

        * makefile.msc: A few more comments.

-Yosh
1998-11-25 03:02:56 +00:00
EST 1998 Michael K. Johnson
3568d22b53 added GFreeFunc and g_hash_table_set_key_freefunc() prototype. added
Tue Nov 24 14:05:47 EST 1998	Michael K. Johnson <johnsonm@redhat.com>

	* glib.h: added GFreeFunc and g_hash_table_set_key_freefunc()
	prototype.
	* ghash.c: added g_hash_table_set_key_freefunc() implementation.
	Modified the prototypes of the functions g_hash_node_destroy() and
	g_hash_nodes_destroy(), and changed the functions that call them
	to match the new definitions.
	This changes no external interfaces, and should create no binary
	or source incompatibilities.  It does add a member to the
	GHashTable structure.
1998-11-24 19:38:17 +00:00
Tim Janik
9c1692c260 removed the GListAllocator type and its g_*_allocator_*() function
Tue Nov 24 09:40:00 1998  Tim Janik  <timj@gtk.org>

        * glib.h: removed the GListAllocator type and its g_*_allocator_*()
        function variants (which weren't working anyways) in favour of a
        generic GAllocator type. new functions:
        g_allocator_new, g_allocator_free, g_slist_push_allocator,
        g_slist_pop_allocator, g_list_push_allocator, g_list_pop_allocator,
        g_node_push_allocator and g_node_pop_allocator.

        * gstring.c: removed bogus slist allocator code.
        * gtree.c: maintain own list of free tree nodes and don't waste
        GSLists for that, removed bogus slist allocator code.
        * glist.c: use GAllocators for node allocation.
        * gslist.c: use GAllocators for node allocation.
        * gnode.c: use GAllocators for node allocation.

        * gdataset.c: cleanups wrt automatic initialization.
1998-11-24 12:18:22 +00:00
Owen Taylor
eabb208b30 added g_array_insert_vals() to insert elements at an arbitrary index, and
Mon Nov 23 10:03:58 1998  Owen Taylor  <otaylor@gtk.org>

	* glib.h garray.[ch]: added g_array_insert_vals() to
	insert elements at an arbitrary index, and
	g_array_insert_val() macro.
1998-11-23 15:02:44 +00:00
Tim Janik
70a6dbff87 new function g_slist_copy() to duplicate a list with all its data
Sun Nov 22 17:07:03 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gslist.c: new function g_slist_copy() to duplicate a list with all its
        data pointers.
        * glist.c: new function g_list_copy.
1998-11-23 01:52:07 +00:00
CST 1998 Shawn T. Amundson
3556db2054 NEWS: README: configure.in: glib.spec: Updated to version 1.1.5
Sat Nov 21 14:57:39 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * INSTALL:
          NEWS:
          README:
          configure.in:
          glib.spec: Updated to version 1.1.5

        * Released GLib 1.1.5
1998-11-23 01:37:32 +00:00
Elliot Lee
f809ca7c11 Fix for g_datalist_id_set_full() use (error is deeper down, some internal
Fix for g_datalist_id_set_full() use (error is deeper down, some internal
funcs weren't checking that things were initialized.)
1998-11-19 04:52:26 +00:00
Tim Janik
5b0bbc2924 fixed off-by-one error, so we don't waste a loop iteration if (-1) was
Mon Nov 16 07:48:06 1998  Tim Janik  <timj@gtk.org>

        * glib.h (g_bit_nth_msf): fixed off-by-one error, so we don't waste
        a loop iteration if (-1) was passed, reported by Andreas Bombe
        <andreas.bombe@munich.netsurf.de>.
1998-11-16 07:45:10 +00:00
Owen Taylor
be7ab912ee Added g_list_sort() and g_slist_sort() to merge sort GLists and GSLists.
Fri Nov 13 15:17:34 1998  Owen Taylor  <otaylor@redhat.com>

	* glist.c gslist.c glib.h: Added g_list_sort() and
	g_slist_sort() to merge sort GLists and GSLists.
	Submitted by Sven Over <sven.over@ob.kamp.net>
	over a year ago!

	* testglib.c: Test the new sort functions.
1998-11-13 20:50:41 +00:00
Jeff Garzik
242cb51bfe INCLUDES is the right way to add to CFLAGS, not DEFS. Also there are bugs
INCLUDES is the right way to add to CFLAGS, not DEFS.
	Also there are bugs with '+=' in makefiles.

	Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
	Removed redundant -I from INCLUDES.

	This fixes an annoying bug where autoconf's DEFS, which includes
	the important -DHAVE_CONFIG_H, was lost.  (due to += weirdness)
1998-11-12 04:28:52 +00:00
EST 1998 Gregory McLean
24273ca743 Batch of new documentation that should be easier to maintain and extend.
Wed Nov 11 18:11:24 EST 1998 Gregory McLean <gregm@comstar.net>

        * docs/*.sgml : Batch of new documentation that should be easier
        to maintain and extend. Plus generate whatever sort of doc file
        you would like. I didn't change the Makefile stuff as I'm not sure
        what default doc type people want. Oh and this is all DocBook format.
        Enjoy!
1998-11-11 23:19:57 +00:00
Manish Singh
11376df686 use __extension__ for long long on gcc >= 2.8 and egcs, and provide a
* configure.in: use __extension__ for long long on gcc >= 2.8 and
egcs, and provide a G_GINT64_CONSTANT wrapper so -ansi -pedantic
compiles clean.

* glib.h: make the endian x86 asm __const__ so the compiler can do
better optimizations. Also remove the cc clobber, these shouldn't
be changing condition codes. Ditch some redundant casts. Add an
optimization for 64-bit endian conversions in x86. Use constant
wrapper for the generic method.

* testglib.c: use constant wrappers for 64-bit constants

-Yosh
1998-11-11 01:26:10 +00:00
Phil Schwan
59f6876ded Added 'strncasecmp' to the list of functions to be searched for. Added a
1998-11-04  Phil Schwan  <pschwan@cmu.edu>

        * configure.in: Added 'strncasecmp' to the list of functions to be
        searched for.
        * glib.h: Added a prototype for 'g_strncasecmp'
        * strfuncs.c: (g_strncasecmp) new function modeled closely after
        'g_strcasecmp'
1998-11-05 01:36:36 +00:00
Manish Singh
2701b4b563 config.h.win32 (new file) glibconfig.h.win32 glib.def applied
* config.h.win32 (new file)
* glibconfig.h.win32
* glib.def
* makefile.msc: applied glib-tml-981104, win32 sync

-Yosh
1998-11-04 23:07:23 +00:00
Sebastian Wilhelmi
4dbf739ea9 new function for removing an entry from an array while preserving the
1998-11-03  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h:
	* garray.h:
	(g_array_remove_index): new function for removing an entry from an
	array while preserving the order
	(g_array_remove_index_fast): new function for removing an entry
	from an array. the order might be distorted
	(g_ptr_array_remove_index_fast, g_ptr_array_remove_fast): new
	functions; working similiar to the above. (they have the semantic
	of the old g_ptr_array_remove[_index] functions)
	(g_ptr_array_remove_index, g_ptr_array_remove): new semantic. now
	the order of the elements in the array is not changed
	(g_byte_array_remove_index, g_byte_array_remove_index_fast): new
	functions; byte_array wrapper for g_array_remove_index[_fast]
1998-11-03 14:52:25 +00:00
Manish Singh
840114ac76 glib.h endian macros defined using the glibconfig.h mechanism now
* glib.h
* configure.in: endian macros defined using the glibconfig.h mechanism now

* ghook.c: casts for GHookFunc and GHookCheckFunc to avoid warnings

-Yosh
1998-11-02 07:04:38 +00:00
Manish Singh
7e04691726 applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog entry
* applied glib-tml-981101-1 patch from Tor Lillqvist (ChangeLog
entry appended below)

* testglib.c
* gstrfuncs.c
* glib.h: use G_HAVE_GINT64, since HAVE_GINT64 is gone

* gmessages.c
* gscanner.c: #include <config.h> in here too, for HAVE_UNISTD_H

-Yosh
1998-11-01 04:19:54 +00:00
Raja R Harinath
5900267cc7 Land glib-rrh-19981025-0.patch.
* Makefile.am (glibconfig.h): New rule.
(stamp-gc-h): New rule.  Generate `glibconfig.h'.
* configure.in (AM_CONFIG_HEADER): It is now `config.h'.
(HAVE_BROKEN_WCTYPE): On Solaris, look for iswalnum in -lw before
concluding "broken wctype".
(glibconfig.h): Use AC_OUTPUT_COMMANDS to put generation code into
config.status.
* glib.h: Remove a lot of tests and defines.  All these have been
moved to `configure.in (glibconfig.h)'.
* gerror.c: Include <config.h>.
* gmem.c: Likewise.
* gstrfuncs.c: Likewise.
* gutils.c: Likewise.

This could cause some short term instability.
1998-11-01 01:32:59 +00:00
Tim Janik
e8a920f88d removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros. added macros
Sat Oct 31 05:08:26 1998  Tim Janik  <timj@gtk.org>

        * glib.h: removed old G_ENUM(), G_FLAGS(), G_NV() and G_SV() macros.
        added macros G_STRUCT_OFFSET(), G_STRUCT_MEMBER_P() and
        G_STRUCT_MEMBER() for handling structure fields through their offsets.
        (struct _GHookList): added a hook_free function member, that can be used
        to free additional fields in derived hook structures.
        g_hook_free(): if hook_list->hook_free != NULL, call this function prior
        to freeing the hook. (this functionality should have been there in the
        first place, it just got forgotten as an implementation detail).
1998-10-31 18:57:36 +00:00
Manish Singh
a32e40e2c4 G_BREAKPOINT for alpha from Robert Wilhelm <robert@physiol.med.tu-muenchen.de>
-Yosh
1998-10-28 08:51:18 +00:00
Tim Janik
7428120d37 new function for file input. rewind the filedescriptor to the current
Tue Oct 27 07:25:53 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gscanner.c:
        (g_scanner_sync_file_offset): new function for file input.
        rewind the filedescriptor to the current buffer position and blow
        the file read ahead buffer. usefull for third party uses of our
        filedescriptor, which hooks onto the current scanning position.
        (this became neccessary with the implementation of buffered
        reads).
        (g_scanner_input_file):
        (g_scanner_input_text): automatically blow the read ahead buffer.
        (g_scanner_get_char): blow the read ahead buffer when the end of
        input is reached, i.e. a '\000' char is read.
1998-10-28 01:32:54 +00:00
Manish Singh
167b4fbbfc get rid of duplicate #g_htonl and friends in the NATIVE_WIN32 part
-Yosh
1998-10-27 08:33:27 +00:00
Manish Singh
7470df9f23 win32 patch from Tor Lillqvist (glib-tml-981027-0), fixes some minor
win32 buglets

-Yosh
1998-10-27 06:58:33 +00:00
Manish Singh
215251e99d reimplemented the endian stuff, using inline asm for x86. #define g_htonl
* glib.h: reimplemented the endian stuff, using inline asm for x86.
#define g_htonl and friends.

* testglib.c: new tests for the endian stuff

* configure.in: care for AIX in gmodule linker flags test (from Joel Becker
<jlbec@raleigh.ibm.com>). Check $host_os for linux instead of existance of
/usr/include/linux

* gutils.c: buh-bye evil warning. Thou hast been #ifdef'd out of thine
existance!

-Yosh
1998-10-27 06:19:42 +00:00
Tor Lillqvist
a6149403de removed dummy structure definitions for struct _GCache, _GTree, _GTimer,
Tue Oct 27 03:00:50 1998  Tim Janik  <timj@gtk.org>

        * glib.h: removed dummy structure definitions for struct _GCache,
        _GTree, _GTimer, _GMemChunk, _GListAllocator and _GStringChunk.

        * gutils.c: implement glib's inline functions _after_ all include
        statements have been processed.
        removed Tor's MAXPATHLEN check since there already was one supplied
        further down in this file.
        (LibMain): special cased the #ifdef __LCC__ case for NATIVE_WIN32,
        since lcc maybe used on other platforms as well. why in hell is this
        stuff required?
        (g_get_any_init): for windows, if the user name is supplied, use it as
        realname also.
        in general, if there is no homedir specified, use the tmpdir that
        we already figured.

        * gtimer.c (g_timer_elapsed): changed a g_assert() statement to
        g_return_if_fail().

        * applied glib-tml-981020-0.patch for WIN32 portability, added some
        comments and g_return_if_fail() statements, minor indentation fixes.
        ChangeLog entry from Tor Lillqvist is appended.

        * glib.h (struct dirent): use lower case structure members.

        * glib.h:
        * makefile.lcc:
        * makefile.msc:
        s/COMPILING_GLIB/GLIB_COMPILATION/

1998-10-20: Tor Lillqvist <tml@iki.fi>

        * README.win32 glib.def gmodule.def
        * glibconfig.h.win32 gmodule/gmoduleconf.h.win32:
        New files for the Windows port. The .def files list exported
        symbols for the Microsoft linker and compatibles.

        * configure.in:
        Added checks for some platform-dependent headers: pwd.h sys/param.h
        sys/select.h sys/time.h sys/times.h unistd.h, and the function lstat.

        * gerror.c:
        Conditionalized inclusion of system-dependent headers. Changes
        for Windows: no gdb to do a stack trace. Just call abort().

        * glib.h:
        Changes for Windows:

        Added macros G_DIR_SEPARATOR, G_DIR_SEPARATOR_S for
        platform-dependent file name syntax elements. Added macros
        G_SEARCHPATH_SEPARATOR, G_SEARCHPATH_SEPARATOR_S for
        platform-dependent search path syntax conventions.

        Added pragmas for Microsoft C to make it more pedantic.

        Marked GLib's global variables for export from DLL.

        Added the function g_strescape that escapes backslashes.

        Added functions g_path_is_absolute and g_path_skip_root to
        handle platform-dependent file name syntax.

        Added the function g_getenv that expands environment variables
        that contain references to other environment variables, as is
        typical on Windows NT.

        Added the GIOChannel structure which is used to encapsulate the
        IPC mechanism used by the GIMP's plug-ins, and possibly other
        things later. On Unix a GIOChannel encapsulates just a file
        descriptor. On Windows it contains a file handle from _pipe() and a
        few other things related to the implementation of gdk_input_add
        and GIMP plug-in communication. Subject to change.

        Removed duplicate declarations of the version variables.

        For the Microsoft compiler, declare own implementation of
        ftruncate and the <dirent.h> functions.

        * gmem.c:
        Define a symbolic name  for the profiling table size.

        * gmessages.c:
        Conditionalized inclusion of unistd.h. On Windows, output using
        stdio to stdout.

        * gscanner.c:
        Conditionalized inclusion of unistd.h. Added changes for
        Microsoft C. Added CR to the skipped character set. Added small
        workaround for MSC compiler bug in g_scanner_cur_value.

        * gstrfuncs.c:
        Added the function g_strescape, which escapes the backslash
        character. Needed especially when printing Windows filenames.

        * gtimer.c:
        Conditionalized inclusion of unistd.h and sys/time.h. Added
        implementations for Windows.

        * gutils.c:
        Conditionalized inclusion of platform-dependent headers. Use
        the platform-independent file name syntax macros.
        Conditionalize code on platform-dependent features. Added the
        functions g_path_is_absolute g_path_skip_root and g_getenv.
        Added the GIOChannel-related functions. Added
        compiler-dependent Unix compatibility functions for Windows.

        * makefile.lcc makefile.msc:
        New files. Compiler-specific makefiles for LCC-Win32 and
        Microsoft C. Only Microsoft C is actually supported currently.

        * testglib.c:
        Added pathname check cases for Windows. Added workaround for
        bug in the Microsoft runtime library. Improved some tests a bit.

Tue Oct 27 04:00:11 1998  Tim Janik  <timj@gtk.org>

        * testgmodule.c (main): changed the #ifdef WIN32 test to NATIVE_WIN32,
        this needs to be more constistent throughout the code, do we go for
        NATIVE_WIN32 or WIN32?

        * gmodule.c (LibMain): special cased the #ifdef __LCC__ case for
        NATIVE_WIN32, since lcc maybe used on other platforms as well.
        * libgplugin_a.c (LibMain):
        * libgplugin_b.c (LibMain):
        likewise. not sure i like this special requirement for lcc in here.

        * gmodule-dl.c (_g_module_build_path):
        feature empty "" directories and prepend the module name with "lib".

        * gmodule-dld.c (_g_module_build_path):
        * gmodule-win32.c (_g_module_build_path):
        feature empty "" directories.

        * we need some more magic in the _g_module_build_path variants
        so we don't append/prepend lib and .so, .sl or .dll for those names
        that already contain it.

        * applied patch from Tor Lillqvist for g_module_build_path() and
        windows support.

1998-10-20: Tor Lillqvist <tml@iki.fi>

        * gmodule/gmodule-win32.c:
        New file.

        * gmodule/gmodule.c gmodule/gmodule.h:
        Added the funcion g_module_build_path that builds the path to
        a module file, decorating the name according to the system's
        conventions.  Added the Windows implementation.

        * gmodule/libgplugin_a.c gmodule/libgplugin_b.c:
        Added LibMain for LCC-Win32.

        * gmodule/testgmodule.c:
        Handle Windows dll names.
1998-10-27 04:11:34 +00:00
CST 1998 Shawn T. Amundson
c3d01e7332 Released GLib 1.1.4
Sun Oct 25 01:24:01 CST 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.4

        * docs/Makefile.am:
        * docs/.cvsignore
        * docs/glib-config.1:
        * docs/glib.texi: Moved docs from gtk and created glib-config.1
        from gtk-config.1 in gtk

        * configure.in:
        * Makefile.am:
        * sanity_check: added in docs directory, change rule 'release'
        to 'snapshot' and created a new 'release' rule for doing the
        distribution.  Added in a 'sanity' rule.

        * NEWS:
        * README:
        * INSTALL: Updated for the release
1998-10-25 08:20:31 +00:00
Tim Janik
e86746f168 no more characters are available if read() returns anything less than 1,
Sun Oct 25 07:30:10 1998  Tim Janik  <timj@gtk.org>

        * gscanner.c:
        (g_scanner_peek_next_char):
        (g_scanner_get_char): no more characters are available if read() returns
        anything less than 1, not only on 0 return.

        * glib.h:
        * gstrfuncs.c: final API cleanup of string arrays to suit sopwith's
        argument order requirements.
        (g_strsplit): renamed from g_str_array_split().
        (g_strjoinv): renamed from g_str_array_joinv(), string array is
        now passed as last parameter. removed `const' qualifier from string
        array pointer (again).
        (g_strjoin): new function from sopwith to concatenate strings with
        an additional seperator.
        (g_strfreev): renamed from g_str_array_free.
1998-10-25 06:44:49 +00:00
Manish Singh
36ab196523 small fix to g_node_children_foreach to make it work right. From Paco Moya
<paco@cadnotebk17.eecs.berkeley.edu>

-Yosh
1998-10-25 05:24:49 +00:00
Tim Janik
634e4a58c6 reverted part of the changes from Sebastian Wilhelmi (1998-10-20). don't
Wed Oct 21 19:22:58 1998  Tim Janik  <timj@gtk.org>

        * configure.in (G_MODULE_HAVE_DLERROR): reverted part of the changes
        from Sebastian Wilhelmi (1998-10-20). don't specify a specific loading
        behaviour (i.e. RTLD_NOW) when we are not sure whether it is supplied.
        changed the return value from (!f2 && f1) to (!f2 || f1) so we default
        to not needing an underscore. reverted the extra plugin.c building,
        because .lo files are not ELF libraries, this can't work. This needs
        further investigation on Solaris...

Wed Oct 21 19:58:27 1998  Tim Janik  <timj@gtk.org>

        * gmodule.c (g_module_symbol): fixed a string pointer bug that could
        cause garbage error messages from g_module_symbol() for systems that
        NEED_USCORE.
1998-10-21 18:04:47 +00:00
Tim Janik
2009313501 API cleanups of the new g_str* functions for consistency with the existing
Wed Oct 21 17:03:05 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstrfuncs.c: API cleanups of the new g_str* functions for consistency
        with the existing naming scheme for g_str* functions. grouped the g_str*
        functions that will return a newly allocated string seperatedly. all of
        the in_place arguments were skipped, the caller is supposed to pass a
        g_strdup()ed string if he wants to retrive a new copy. indentation and
        coding style fixups. added some g_return_if_fail() statements.
        string array functions are prefixed with g_str_array_.
        (g_strdelimit): return the modified string like all other g_str*
        functions, that operate in place.
        (g_strchug): renamed from g_str_chug(), removed in_place argument.
        (g_strchomp): renamed from g_str_chomp(), removed in_place argument.
        (g_strstrip): renamed from g_str_strip(), removed in_place argument.
        (g_str_array_join): renamed from g_strconcatv(), since it actually
        operates on a string array and has totaly different semantics from
        g_strconcat(). check for separator != NULL, don't segfault if the first
        string is NULL. removed the `const' from the string array that's passed,
        so users can operate on gchar** string arrays.
        (g_str_array_split): renamed from g_str_split() because we actually
        produce a string array. reimplemented this function for efficiency.
        removed macro aliases g_str_joinv and g_str_join.
1998-10-21 17:18:22 +00:00
Elliot Lee
039de051ef Move string join/split/free routines from libgnome/gnome-string, rename,
* glib.h, gstrfuncs.c: Move string join/split/free routines from
 	libgnome/gnome-string, rename, and add g_str_chug.
1998-10-20 21:41:55 +00:00
Sebastian Wilhelmi
fb20a36775 made the check for needed underscore in module's func-names work on
1998-10-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: made the check for needed underscore in module's
	func-names work on solaris. (G_MODULE_NEED_USCORE must be set
	outside AC_CACHE_VAL, dlopen(0,0) refused to work on solaris).
1998-10-20 14:39:55 +00:00
Manish Singh
1a3648688f configure.in added test for endianness
* configure.in
* acconfig.h: added test for endianness

* glib.h: #define endian macros for system and some conversions
between byte order

-Yosh
1998-10-20 10:43:39 +00:00
Tim Janik
bee522aa57 removed functions g_dataset_id_set_destroy and g_datalist_id_set_destroy
Thu Oct  8 06:47:27 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: removed functions g_dataset_id_set_destroy and
        g_datalist_id_set_destroy and macros g_dataset_set_destroy and
        g_datalist_set_destroy.
        added new functions g_dataset_id_remove_no_notify and
        g_datalist_id_remove_no_notify plus associated macros
        g_dataset_remove_no_notify and g_datalist_remove_no_notify, which
        will remove a certain data portion without invokation of its destroy
        notifier, this should only be used in very controled circumstances.
1998-10-08 06:32:49 +00:00
Tim Janik
43cc1dbf96 removed the #pragma } statement after extern "C" {. use (c-set-offset
Wed Oct  7 05:31:24 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        removed the #pragma } statement after extern "C" {. use
        (c-set-offset 'inextern-lang 0) to fixup emacs cc-mode indentation.

        * glib.h:
        * ghook.c: API and code cleanups. changed the G_HOOK_ACTIVE and
        G_HOOK_IN_CALL enum vals to G_HOOK_FLAG_ACTIVE and G_HOOK_FLAG_IN_CALL.
        changed the G_HOOK_IS_ACTIVE() and G_HOOK_IS_IN_CALL() macros to
        G_HOOK_ACTIVE() and G_HOOK_IN_CALL().
        fixed the g_hook_find* functions, so they iterate over non-active
        hooks as well.
        (g_hook_first_valid):
        (g_hook_next_valid): added an extra argument gboolean may_be_in_call,
        which indicates whether G_HOOK_IN_CALL() hooks are considered valid
        or not. these two functions are meant as iterators for the hook list
        invocation, so they need to a) provide functionality to implement
        may_recurse bahaviour and b) only walk active hooks.
1998-10-07 04:19:14 +00:00
Tim Janik
823a25beb6 fixed memory offsett when ENABLE_MEM_CHECK is defined and
Tue Oct  6 14:29:47 1998  Tim Janik  <timj@gtk.org>

        * gmem.c (g_malloc0): fixed memory offsett when ENABLE_MEM_CHECK is
        defined and ENABLE_MEM_PROFILE is not (patch from Martin Pool
        <mbp@wistful.humbug.org.au>).
1998-10-06 12:35:30 +00:00
Tim Janik
ba5aabfa36 properly handle the first valid hook to call, it maybe IN_CALL already.
Sat Oct  3 01:18:10 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c:
        (g_hook_list_invoke):
        (g_hook_list_invoke):
        (g_hook_list_marshal): properly handle the first valid hook to call,
        it maybe IN_CALL already.
        (g_hook_list_marshal): minor name change.

Fri Oct  2 23:21:21 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * ghook.c: renamed GHook.id to GHook.hook_id so we don't get troubles
        with ObjC which reserves "id" as a keyword (Raja R Harinath
        <harinath@cs.umn.edu>).
1998-10-02 23:21:58 +00:00
Tim Janik
48adba2805 added ghook.c.
Wed Sep 30 10:53:03 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: added ghook.c.

        * glib.h:
        * ghook.c: generic callback maintenance functions.

        * glib.h: define G_GNUC_UNUSED.
1998-09-30 08:56:00 +00:00
Tim Janik
77e4f76f16 version bump to 1.1.4, binary age 0, interface age 0.
Fri Sep 25 00:04:37 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.4, binary age 0, interface age 0.

        * glib.h (struct _GScanner): dumped peeked_char and text_len in favour
        of *text_end and *buffer for buffered read()s.

        * gscanner.c: changed peeking and retrival of next character so we
        have buffered reads. fixed minor bug with number parsing error
        reporting. made some static!!! variables local ones (why did we use
        static temporary variables in the lowlevel tokenization code anyways?).
1998-09-25 00:44:38 +00:00
CDT 1998 Shawn T. Amundson
d120d02a8c Released GLib 1.1.3
Mon Sep 21 23:23:10 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.3
1998-09-22 04:41:02 +00:00
Tim Janik
e66a0ced67 added g_renew() which works as g_new() for g_realloc().
Mon Sep 21 07:43:13 1998  Tim Janik  <timj@gtk.org>

        * glib.h: added g_renew() which works as g_new() for g_realloc().
1998-09-21 06:13:06 +00:00
Tim Janik
2d68cbbb7d NEWS file update for upcoming release of GLib + GModule version 1.1.3,
Mon Sep 21 02:22:12 1998  Tim Janik  <timj@gtk.org>

        * NEWS file update for upcoming release of GLib + GModule
        version 1.1.3, binary age 0, interface age 0. (GModule uses
        the same version numbers as GLib.)

        * glib.h: swap the inclusion of of float.h and limits.h to work
        around a egcs 1.1 oddity on Solaris 2.5.1 (fix provided by
        Per Abrahamsen  <abraham@dina.kvl.dk>).

        * glib.h:
        * gscanner.c: renamed the GValue union to GTokenValue, this should
        not affect source compatibility in most cases.

        * ghash.c: added some g_return_if_fail() statements. make
        g_hash_table_lookup_node() an inline function so we save an extra
        function invokation on lookups.

Mon Sep 21 01:54:48 1998  Tim Janik  <timj@gtk.org>

        * gmodule.h:
        * gmodule.c: renamed old _de_init functionality to _unload.
        modules are now expected to export:
        G_MODULE_EXPORT const gchar* g_module_check_init (GModule *module);
        and
        G_MODULE_EXPORT void g_module_unload (GModule *module);
        returning a string other than NULL from g_module_check_init() will
        prevent the module from being loaded. a call to g_module_make_resident()
        from g_module_unload() will prevent the module from being unloaded and
        still make it resident.
1998-09-21 02:32:30 +00:00
Owen Taylor
b2268f6834 Patch to libtool-1.2b to make --disable-static
Sun Sep 20 18:21:46 1998  Owen Taylor  <otaylor@redhat.com>

	* ltconfig.sh: Patch to libtool-1.2b to make --disable-static
1998-09-20 22:14:19 +00:00
Manish Singh
034e7c0339 This is Josh, commiting as Manish. This is completely new, and
nothing will break.

	* glib.h: New function g_hash_table_foreach_remove is similar to
 	g_hash_table_foreach, but the callback's return value indicates
 	whether to remove the element (if TRUE) or not (if FALSE).
1998-09-20 09:43:11 +00:00
Manish Singh
0dbf1d8cc4 Added g_memdup implementation
-Yosh
1998-09-18 18:32:59 +00:00
Tim Janik
4193614b1c make the datalists a safe type (not using a generic gpointer) by expecting
Fri Sep 18 18:46:14 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: make the datalists a safe type (not using a generic
        gpointer) by expecting a GData* argument in the g_datalist functions.
        provide g_dataset_foreach() and g_datalist_foreach() functions that
        allow a GDataForeachFunc function to walk the data lists.
        (g_dataset_destroy_internal): made this function truely reentrant (i.e.
        can be called from within destroy notifiers as well).
        the *_foreach functions are _not_ reentrant (unless all the other
        dataset and datalist functions).
1998-09-18 18:16:49 +00:00
Tim Janik
ac3a8ac9a7 check for key_compare_func != NULL (reported by Michal Kara).
Fri Sep 18 03:41:20 1998  Tim Janik  <timj@gtk.org>

        * gtree.c (g_tree_new): check for key_compare_func != NULL (reported
        by Michal Kara).
1998-09-18 02:12:32 +00:00
Manish Singh
ebc96dde35 removed from repository
* config.h.in: removed from repository

* install-sh
* missing
* mkinstalldirs: updated to latest automake version

-Yosh
1998-09-18 02:02:02 +00:00
Tim Janik
ea4b8e4c02 implemented g_datalist_* along the lines of g_dataset, but operates on an
Thu Sep 17 06:36:25 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: implemented g_datalist_* along the lines of g_dataset,
        but operates on an opaque gpointer *datalist; pointer, e.g. for the
        implementation of GtkObject named data.
        we cache a certain portion of the already freed data entries now, to
        gain a slight performance improve with data reallocation.

Thu Sep 17 06:34:22 1998  Tim Janik  <timj@gtk.org>

        * gmodule.h:
        * gmodule.c: implemented g_module_make_resident() which can be
        used to make modules resident.
        fixed a buglet about the optional "g_module_de_init" function in
        modules, which could get invoked twice on very obscure occasions.
1998-09-17 04:59:41 +00:00
Owen Taylor
7cc610b064 Update to libtool-1.2b, change library versioning scheme to drop
Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am glib-config.in l*: Update to libtool-1.2b,
	change library versioning scheme to drop LT_RELEASE
	from the -l line, while keeping it in the soname.
1998-09-15 19:08:11 +00:00
Tim Janik
91e9b770c6 explicitely include the prototypes for inline functions to cure gcc
Fri Sep 11 02:11:46 1998  Tim Janik  <timj@gtk.org>

        * glib.h: explicitely include the prototypes for inline functions
        to cure gcc warnings for -Wmissing-prototypes.
1998-09-11 00:16:22 +00:00
Manish Singh
1b2750bd90 added -posix check for NeXTStep
-Yosh
1998-09-09 09:52:31 +00:00
Tim Janik
1d59832946 abandon the use of ATEXIT(), we keep the fallback macros for backwards
Tue Sep  8 05:04:06 1998  Tim Janik  <timj@gtk.org>

        * glib.h: abandon the use of ATEXIT(), we keep the fallback
        macros for backwards compatibility. people ought to use g_atexit().

        * gutils.c (g_atexit): new function to take over the implementation
        of ATEXIT. this function is guarranteed to succeed, similar to
        g_malloc().
1998-09-08 04:00:13 +00:00
Manish Singh
ce7ffeb304 comment the -std1 check and save LIBS properly
-Yosh
1998-09-08 03:08:22 +00:00
Tim Janik
0b42c37e7d check for all three inline keywords individually.
Mon Sep  7 07:53:21 1998  Tim Janik  <timj@gtk.org>

        * configure.in: check for all three inline keywords individually.

        * glib.h: inlining hassle. for compilers that don't allow the `inline'
        keyword, mostly because of strict ANSI C compliance or dumbness, we try
        to fall back to either `__inline__' or `__inline'.
        we define G_CAN_INLINE, if the compiler seems to be actually *capable*
        to do function inlining, in which case inline function bodys do make
        sense. we also define G_INLINE_FUNC to properly export the function
        prototypes if no inlinig can be performed. we special case most of the
        stuff, so inline functions can have a normal implementation by defining
        G_INLINE_FUNC to extern and G_CAN_INLINE to 1.

        * ltconfig: (compiler PIC flag test): special case linux for non
        aout systems to honour lcc's position independant code (cases
        "linux*aout)" and "linux*)" got added). (this needs to go into
        libtool which does an advanced test, checking for __LCC__).

        * autogen.sh: take $CC=lcc into account by invoking automake with
        --include-deps so lcc isn't scared by gcc's auto-dependancy
        generation code. care about $ACLOCAL_FLAGS. optionally feature
        autoheader.

        * minor fixups in other places to cure some of lcc's warnings.
1998-09-07 09:43:54 +00:00
Manish Singh
affa6a0677 configure.in: added -std1 check for ANSI compliance (from gtk)
-Yosh
1998-09-07 02:13:51 +00:00
Manish Singh
bb8d9aba23 provide proper ATEXIT behavior on NeXTStep by !atexit
-Yosh
1998-09-06 19:33:54 +00:00
Tom Tromey
f57c045bd6 Define. New define. (g_bit_nth_msf): Use it. Also, add prototype.
Sat Sep  5 18:03:36 1998  Tom Tromey  <tromey@cygnus.com>

	* gutils.c (GLIB_INLINE): Define.
	* glib.h (GLIB_INLINE): New define.
	(g_bit_nth_msf): Use it.  Also, add prototype.
	(g_bit_storage): Likewise.
	(g_bit_storage): Likewise.
1998-09-06 00:31:48 +00:00
Tim Janik
1c3646f597 use g_mem_chunk_alloc0() to allocate the memchunk, so the correct size of
Sat Sep  5 04:40:02 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        (g_chunk_new0): use g_mem_chunk_alloc0() to allocate the memchunk,
        so the correct size of the memchunk is allocated with 0's and not
        a memory portion of the size of the desired type.

        * gmem.c: new function g_mem_chunk_alloc0() which will initialize
        a memory area allocated with g_mem_chunk_alloc() with 0's.
1998-09-05 06:53:43 +00:00
Owen Taylor
fa58379289 make data argument const.
Wed Sep  2 19:13:28 1998  Owen Taylor  <otaylor@redhat.com>

	* garray.c glib.h (g_array_[ap/pr]epend_vals): make
	data argument const.
1998-09-02 23:11:04 +00:00
Tim Janik
519435e642 new function g_strnfill() to return a new string of specified length,
Wed Aug 26 06:32:40 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstrfuncs.c: new function g_strnfill() to return a new string
        of specified length, filled with a specific character.
1998-09-02 14:57:10 +00:00
Manish Singh
7401460a60 Mostly changes to GArray code. See ChangeLog. 1998-09-02 07:44:02 +00:00
Tim Janik
b420fa8418 removed this function which was not publically exported in glib.h. to
Mon Aug 24 02:08:56 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gstring.c:
        * gstrfuncs.c:
        (g_vsprintf): removed this function which was not publically
        exported in glib.h. to export it, it should have been named
        differently in the first place, since its semantics differ from
        vsprintf(). apart from that, it was a possible cause for
        problems since it worked on a previously allocated memory area and
        was used in a lot places of glib. exporting it would have been a
        guararant for problems with threaded programs.
        (g_printf_string_upper_bound): exported this function to return
        a string size, guarranteed to be big enough to hold the fully
        expanded format+args string. added 'q', 'L' and 'll' flag handling.
        in fact, the newly allocated area is in most cases much bigger than
        required.
        (g_strdup_vprintf()): new function returning a newly allocated string
        containing the contents of *format and associated args (size is
        calculated with g_printf_string_upper_bound()).
        (g_strdup_printf): new function which wraps g_strdup_vprintf().

        * configure.in: check for va_copy() or __va_copy() alternatively.
        check whether va_lists can be copyied by value.

        * glib.h: provide a definition for G_VA_COPY.

        * glib.h:
        * gmessages.c:
        (g_logv):
        (g_vsnprintf):
        pass va_lists by value, not by reference, since this causes problems
        on platforms that implement va_list as as arrays. internaly, use
        G_VA_COPY (new_arg, org_arg); va_end (new_arg); to produce a second
        va_list variable, if multiple passes are required. changed all
        callers.

        * glib.h:
        * gerror.h:
        renamed g_debug() to g_on_error_query(), cleaned up a bit.
        renamed g_stack_trace() to g_on_error_stack_trace() since both
        functions cluttered different namespaces.
        there is an appropriate comment in glib.h now that explains the
        unix and gdb specific dependencies of both functions.
        removed g_attach_process().
        g_on_error_stack_trace() should probably be handled with caution,
        i've seem several different linux versions (2.0.x) become unstable
        after invokation of this function.
1998-08-24 05:26:53 +00:00
Elliot Lee
c4a99a2eb9 gmem.c: add ability to exclude memory chunks from memory profiling
gmem.c: add ability to exclude memory chunks from memory profiling
	information.
1998-08-19 03:59:20 +00:00
Manish Singh
47074edbbd added g_strndup
-Yosh
1998-08-19 01:24:13 +00:00
Tim Janik
e1f0fb0c1e new function g_log_set_always_fatal() to set an additional fatal_mask for
Tue Aug 18 04:40:17 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmessages.c: new function g_log_set_always_fatal() to set an
        additional fatal_mask for log levels that are considered to be fatal
        globally (required by gtk). since this mask is not domain-associated,
        it is restricted to the log levels, introduced by glib itself.

        * gmem.c:
        * grel.c:
        * gtree.c (g_tree_node_check):
        don't use g_print() calls for informational/debugging output,
        but log all this stuff through g_log() with G_LOG_LEVEL_INFO.
        libraries shouldn't use printf(), g_print() or g_printerr() at all.
1998-08-18 03:50:35 +00:00
Tim Janik
d7f2383949 if __STRICT_ANSI__ is defined, make `inline' a noop, since strict ANSI
Tue Aug 18 02:46:44 1998  Tim Janik  <timj@gtk.org>

        * glib.h (__STRICT_ANSI__): if __STRICT_ANSI__ is defined, make
        `inline' a noop, since strict ANSI rules don't permit `inline'.
1998-08-18 01:01:54 +00:00
Tim Janik
9cde2ffe5f made private functions static.
Mon Aug 17 15:21:42 1998  Tim Janik  <timj@gtk.org>

        * grel.c: made private functions static.
1998-08-17 14:47:49 +00:00
Shawn Amundson
a8ca071d6a release delayed 1998-08-17 05:25:32 +00:00
CDT 1998 Shawn T. Amundson
b03e280bd1 Released GLib 1.1.3
Sun Aug 16 23:23:46 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.3

        * gmodule/Makefile.am: added gmodule-dl.c and gmodule-dld.c to
          EXTRA_DIST
        * glib.spec: version = 1.1.3
1998-08-17 04:27:37 +00:00
Tim Janik
e93e494518 feature an extra MODULES parameter, so glib-config can be invoked with the
Mon Aug 17 01:46:14 1998  Tim Janik  <timj@gtk.org>

        * glib.m4: feature an extra MODULES parameter, so glib-config can
        be invoked with the "gmodule" argument.

        * glib.h: changed the log level to G_LOG_LEVEL_CRITICAL for all
        g_return*_if_fail statements, and made them issue a message
        like "assertion `%s' failed".

        * gmessages.c (g_logv): ugh, don't pass log_domain as NULL to
        g_log_find_domain.
1998-08-17 00:00:51 +00:00
Tim Janik
d5803865b4 version bump to 1.1.3, binary age 0, interface age 0.
Sun Aug 16 20:28:27 1998  Tim Janik  <timj@gtk.org>

        * version bump to 1.1.3, binary age 0, interface age 0.

        * glib.h: be nice to platforms that don't have gint64 and don't
        issue #warning on every compilation. since glib doesn't require
        gint64 itself, packages that need gint64 should test for this
        themselves.

        * glib.h:
        * gutils.c: added a new function g_vsnprintf().

Fri Aug 14 16:41:53 1998  Tim Janik  <timj@gtk.org>

        * glib.h: added static inline functions for bit mask tests:
        g_bit_nth_lsf, g_bit_nth_msf and g_bit_storage.

Fri Aug 13 14:23:37 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gmessages.c:
        revised the message handling system, which is now based on a new
        mechanism g_log*. most of the assertment macros got adapted to
        feature the new g_log() call with an additional specification of
        the log level in a preprocessor macro G_LOG_DOMAIN. if G_LOG_DOMAIN
        is undefined upon the includion of glib.h, it'll be defined with a
        value of (NULL) and thus preserves the original bahaviour for
        warning and error messages. the message handler setting functions
        for g_warning, g_error and g_message are only provided for backwards
        compatibility and might get removed somewhen.

        * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
        to "GLib" upon compilation. we currently have to add this definition
        to the DEFS variable.
        * testglib.c: we need an ugly #undef G_LOG_DOMAIN at the start
        of this file currently, since automake doesn't support per target
        _CFLAGS yet.

        * glib.h: changed some gints to gbooleans, made a few const corrections,
        removed some superfluous G_STMT_START{}G_STMT_END wrappers, added some
        in other required places.

        * gnode.c:
        (g_node_prepend):
        (g_node_insert_before):
        (g_node_insert):
        (g_node_append_data):
        (g_node_prepend_data):
        (g_node_insert_data_before):
        (g_node_insert_data):
        (g_node_append):
        return (node), so these macros/functions can be usefully chained with
        g_node_new().

[GModule]
Fri Aug 14 02:24:39 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
        to "GModule" upon compilation. we currently have to add this definition
        to the DEFS variable.
        * testgmodule.c: we need an ugly #undef G_LOG_DOMAIN at the start
        of this file currently, since automake doesn't support per target
        _CFLAGS yet.
1998-08-16 21:14:11 +00:00
Elliot Lee
ab385b6f05 Sun Aug 16 Elliot Lee
glib.h - #error out if we don't recognize the SIZEOF_VOID_P
		 #warning if no gint64
1998-08-16 16:56:52 +00:00
Manish Singh
731d403c87 It's GTime now, and it's back!
-Yosh
1998-08-11 00:57:36 +00:00
Tim Janik
52f1266e0a minor hack to cause SUBDIRS (gmodule) to be build last. we do this by
Mon Aug 10 02:17:19 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: minor hack to cause SUBDIRS (gmodule) to be build
        last. we do this by making all-recursive-am depend on all-am.

Mon Aug 10 02:18:31 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am (lib_LTLIBRARIES): for now, skip the dependency on
        -lglib for libgmodule-1.1.la, libgplugin_a.la and libgplugin_b.la
        since this clashes with inter-library-dependencies for not installed
        libraries. glib-config takes care of this for the usuall case, but
        there needs to be a better way...
1998-08-10 00:26:44 +00:00
Tim Janik
d94e25520b changelog updates 1998-08-09 14:00:01 +00:00
PDT 1998 Shawn T. Amundson
b76b5ead5e Released GLib 1.1.2
Wed Aug  5 10:04:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.2
1998-08-05 17:05:38 +00:00
George Lebl
041a14df58 fix 64-bitness in g_prints, sizeof doesn't seem to return int so I cast it
Wed Aug 05 01:15:36 1998  George Lebl  <jirka@5z.com>

        * testglib.c: fix 64-bitness in g_prints, sizeof doesn't
          seem to return int so I cast it for printing, probably
          just cosmetic
1998-08-05 08:15:58 +00:00
PDT 1998 Shawn T. Amundson
65dda096fe Released GLib 1.1.1
Tue Aug  4 19:54:06 PDT 1998 Shawn T. Amundson <amundson@gkt.org>

        * Released GLib 1.1.1
1998-08-05 02:56:37 +00:00
Tim Janik
16b83a9a50 version bump to 1.1.1, binary age 1, interface age 0. updates. updates.
Tue Aug  4 15:17:54 1998  Tim Janik  <timj@gtk.org>

        * configure.in: version bump to 1.1.1, binary age 1, interface age 0.
        * NEWS: updates.
        * README: updates.
        * INSTALL: updates and fixes.
        * COPYING: include the GNU LGPL, rather than shipping an empty file.
        * AUTHORS: listed original authors here, and added people who made
        significant improvements to glib.

        * glib.h:
        * gutils.c: implement g_get_current_dir() which returns a newly
        allocated string, instead of a g_getcwd() variant that operates
        on a static buffer.
        export glib_interface_age and glib_binary_age.
        as a convenience, macro definitions have been added for
        g_node_insert_data, g_node_insert_data_before, g_node_append_data and
        g_node_prepend_data.

        * testglib.c: minor cleanups, print current dir.
1998-08-04 14:26:27 +00:00
Tim Janik
8b853a62c5 change order of gpointer data; field in struct _GNode to be partly binary
Mon Aug  3 16:02:26 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gnode.c: change order of gpointer data; field in struct _GNode to
        be partly binary compatible with GList and GSList.
1998-08-03 14:06:18 +00:00
Sebastian Wilhelmi
de89a5b945 garray.c (g_ptr_array_remove_index): bugfix: index check for array has
been wrong
1998-08-03 07:18:23 +00:00
Tim Janik
5272119ce9 added a GNode test.
Fri Jul 31 22:17:05 1998  Tim Janik  <timj@gtk.org>

        * testglib.c (g_node_test): added a GNode test.

Fri Jul 31 09:08:16 1998  Tim Janik  <timj@gtk.org>

        * Makefile.am: compile gnode.c.

        * glib.h:
        * gnode.c: added implementation of n-way trees.

        * gtree.c (g_tree_traverse): added a warning to the switch() statement
        which says that G_LEVEL_ORDER is not implemented.
1998-07-31 20:21:10 +00:00
CDT 1998 Shawn T. Amundson
e502a2345c Released GLib 1.1.0
Mon Jul 27 00:17:30 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Released GLib 1.1.0
1998-07-27 05:33:17 +00:00
Tim Janik
fe00841ff8 #if 0'ed out the GTime definition, until it is definitively needed. #if
Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>

        * glib.h: #if 0'ed out the GTime definition, until it is definitively
        needed. #if 0'ed out the g_getcwd() version, because it is the wrong
        implementation.
1998-07-27 01:23:18 +00:00
Tim Janik
822650b4e5 #if 0'ed out the GTime definition, until it is definitively needed.
Mon Jul 27 01:02:27 1998  Tim Janik  <timj@gtk.org>

        * glib.h: #if 0'ed out the GTime definition, until it is definitively
        needed.
1998-07-26 23:06:01 +00:00
Mark Crichton
a87caec45b DANGER WILL ROBINSON! Ok, normally I don't do things like this, but this
DANGER WILL ROBINSON!
Ok, normally I don't do things like this, but this one is simple to reverse.
On NetBSD, /usr/include/time.h defines gtime.  This conflicts with gtime in
glib.h.  HENCE, I changed the glib.h gtime to g_time.  If this is wrong, please
put in a more proper fix.

Thanks,
Mark Crichton
<mcrichto@purdue.edu>
1998-07-25 20:16:56 +00:00
Tim Janik
b813e192c6 new functions to make a scanner scope sensitive wrt symbol lookups.
Thu Jul 23 00:29:14 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gscanner.c: new functions to make a scanner scope sensitive wrt
        symbol lookups.
        g_scanner_scope_foreach_symbol, g_scanner_scope_lookup_symbol,
        g_scanner_scope_remove_symbol, g_scanner_scope_add_symbol and
        g_scanner_set_scope.
        g_scanner_add_symbol, g_scanner_remove_symbol and
        g_scanner_foreach_symbol are now aliases for scope 0.
1998-07-22 22:32:22 +00:00
George Lebl
d2063fdc73 typo fixed for alphas for gint64
Mon Jul 20 23:05:34 1998  George Lebl  <jirka@5z.com>

        * glib.h: typo fixed for alphas for gint64
1998-07-21 06:06:12 +00:00
Tim Janik
acc1c38efe new fuction g_dirname() which returns a newlly allocated string.
Tue Jul 14 09:05:18 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gutils.c: new fuction g_dirname() which returns a newlly
        allocated string.
1998-07-14 07:39:07 +00:00
Tim Janik
478632418e typo fixups 1998-07-11 05:17:49 +00:00
Tim Janik
49ae057a97 added a bunch of utility/wrapper functions: g_basename(), g_getcwd(),
Fri Jul 10 06:33:43 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gutils.h: added a bunch of utility/wrapper functions:
        g_basename(), g_getcwd(), g_get_user_name(), g_get_real_name(),
        g_get_home_dir(), g_get_tmp_dir(), g_get_prgname() and g_set_prgname().

        * gutils.c: removed all g_str* functions.
        * gstrfuncs.c: moved the bunch g_str* functions from gutils.c in this
        place. this file shall never include <stdlib.h> to avoid clashes for
        some of the g_str* functions on some OSes.
1998-07-10 05:51:17 +00:00
Lauri Alanko
5b52f01535 Renamed g_hash_table_lookup_full to g_hash_table_lookup_extended to
conform with naming conventions.
1998-07-09 21:35:59 +00:00
Lauri Alanko
7519c2338a Generic hash cleanup, added a function (g_hash_table_lookup_full). 1998-07-07 08:27:58 +00:00
Manish Singh
f154104379 fix for properly detecting shared lib support on SunPro cc (taken from
libtool 1.2.a)

-Yosh
1998-07-06 17:12:48 +00:00
Manish Singh
61bccc36a9 Added g_array_length
-Yosh
1998-07-04 20:39:29 +00:00
Tim Janik
b7c94a718d take symbol_2_token into account. react on valid/invalid string pairs.
Tue Jun 30 11:58:25 1998  Tim Janik  <timj@gtk.org>

        * gscanner.c (g_scanner_unexp_token): take symbol_2_token into
        account. react on valid/invalid string pairs.
1998-06-30 11:04:49 +00:00
Manish Singh
385e3c3342 ftp.glib.org -> ftp.gtk.org, since glib.org isn't ours. ;)
-Yosh
1998-06-28 04:56:59 +00:00
Tim Janik
afdf8b93a3 removed g_dataset_try_key, g_dataset_force_id and g_dataset_retrive_key in
Fri Jun 19 03:11:02 1998  Tim Janik  <timj@gtk.org>

        * gdataset.c: removed g_dataset_try_key, g_dataset_force_id and
        g_dataset_retrive_key in favour of GQuarks.
        a GQuark is an numeric id wich is associated with a certain string.
        (g_quark_try_string): try to get the quark associated with this string,
        if the lookup failed return 0.
        (g_quark_from_string): get the associated quark for a string, if there
        isn't currently a GQuark associated with this string, then allocate a
        new quark and return that.
        (g_quark_from_static_string): like the above function, but the string
        isn't strdup()ed to save memory.
        (g_quark_to_string): get the string that is associated with a certain
        GQuark.

        * gdataset.c (g_dataset_id_set_data_full): invoke the destroy function
        _after_ the new data has been setup.
1998-06-19 02:00:23 +00:00
Owen Taylor
12edfe9084 Changed messages for g_return_[val]_if_fail to be somewhat more clear:
Thu Jun 18 02:35:21 1998  Owen Taylor  <otaylor@gtk.org>

	* glib.h: Changed messages for g_return_[val]_if_fail to
	be somewhat more clear: assertion "blah" failed.
1998-06-19 01:24:25 +00:00
Federico Mena Quintero
05b2f03c6a Use GINT_TO_POINTER casts to remove compiler warnings.
1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* testglib.c (main): Use GINT_TO_POINTER casts to remove compiler
	warnings.

	* grel.c: #include <string.h>
1998-06-18 20:37:11 +00:00
Tim Janik
860af205b6 cleanups of the structure fields (binary incompatible).
Fri Jun 12 15:39:06 1998  Tim Janik  <timj@gtk.org>

        * glib.h (GScanner): cleanups of the structure fields (binary
        incompatible).
1998-06-12 14:39:38 +00:00
Josh MacDonald
df9a49ec3c [Changes from josh to sync with his glib stuff -Yosh]
Fri Jun 12 00:39:28 1998  Josh MacDonald  <jmacd@icw.EECS.Berkeley.EDU>

        * glib.h: add new hash and equal functions g_int_*.  complement
        g_direct_hash with g_direct_equal.

        * grel.c: new file, GRelations implement tuples of N-N mappings.
        A comment in glib.h briefly describes the interface.

        * ghash.c: new function, g_hash_table_size

        * glib.h: new typedefs, gsize, gssize, gtime.

        * garray.c: new functions implementing a simplified GArray.  This
        GPtrArray is an array of gpointers and has functions to add and
        remove elements, much like java.lang.Vector.

        * garray.c: new functions for the single-byte special case of
        GArray.  The functions g_byte_array* operate on arrays of bytes.
        Internally, a GArray is used.

        * testglib.c: tests for g_ptr_array, g_byte_array, and g_relation...
1998-06-12 09:38:32 +00:00
Federico Mena Quintero
19532180ec #include <string.h>
1998-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gdataset.c: #include <string.h>
1998-06-12 01:04:15 +00:00
Tim Janik
b49ead6fe5 new function g_dataset_retrive_key. adjusted prealloc sizes, to take up
Thu Jun 11 04:15:31 1998  Tim Janik  <timj@gtk.org>

        * glib.h:
        * gdataset.c: new function g_dataset_retrive_key. adjusted prealloc
        sizes, to take up less space on initial allocation.
1998-06-11 03:38:33 +00:00
Raja R Harinath
580b16fb22 New file. Contains `libtool.m4' from libtool-1.2, the version from which
* acinclude.m4: New file.  Contains `libtool.m4' from libtool-1.2,
the version from which glib's libtool forked.  Needed for people
who use post-1.2 alphas of libtool.
* configure.in (enable_mem_check, enable_mem_profile): Replace
`echo -n' with AC_MSG_CHECKING.
(fd_set): Explain test for `fd_set' better.
1998-06-11 00:10:13 +00:00
Owen Taylor
375b23836d Added glib.h which was mistakenly in .cvsignore 1998-06-10 23:28:29 +00:00
Owen Taylor
2e0320d57e Initial revision 1998-06-10 23:21:14 +00:00