Commit Graph

629 Commits

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