Commit Graph

325 Commits

Author SHA1 Message Date
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