Commit Graph

101 Commits

Author SHA1 Message Date
Sebastian Wilhelmi
267b681370 Introduced new function type GEqualFunc to return TRUE for equal params.
2000-10-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

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

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

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

	* glib.def: Add missing functions.

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

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

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

	* tests/Makefile.am: add markup-test

	* gstring.h (g_string_new_len): new function to create a string
	with a length
	(g_string_new): avoid a gratuitous realloc
2000-10-27 02:46:04 +00:00
Tor Lillqvist
fb4de1c50d Some more debugging output. (g_io_channel_win32_poll): Remove unused vars.
2000-10-16  Tor Lillqvist  <tml@iki.fi>

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

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

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

	* glib.def: Add new entry points.

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

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

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

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

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

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

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

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

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

* gobject/Makefile.am: Likewise.

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

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

* acconfig.h: Empty out.

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

* tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
2000-10-16 01:02:19 +00:00
Sebastian Wilhelmi
8131a71780 .cvsignore updates
.cvsignore updates
2000-10-12 15:36:29 +00:00
Havoc Pennington
8e3a3eef63 Add new files.
2000-10-09  Havoc Pennington  <hp@redhat.com>

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

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

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

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

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

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

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

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

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

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

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

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

	* glib.def: Add new entry point.

	Fixes from Hans Breuer:

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

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

	* giowin32.c (g_io_channel_win32_make_pollfd): Insert cast to keep
	MSVC happy.
2000-10-06 21:32:59 +00:00
Sebastian Wilhelmi
b4f692999f .cvsignore updates
.cvsignore updates
2000-09-28 14:06:26 +00:00
Sebastian Wilhelmi
e885fe2462 Moved determination of G_THREAD_FLAGS before G_THREAD_LIBS. Check for
2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

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

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

	* configure.in, tests/type-test.c: Some platforms support 64 bit
	'long long', but you can not printf or scanf them. In that case,
	don't define G_G{UINT|INT}64_FORMAT. Changed the type-test program
	to reflect that.
2000-09-28 07:45:04 +00:00
Tim Janik
9432265430 for non-i386 and non-alpha, or non gcc, implement BREAKPOINT() as raise (5
Mon Aug 21 03:57:46 2000  Tim Janik  <timj@gtk.org>

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

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

        * gutils.c: to turn on compilation of inline functions, provide
        #define G_IMPLEMENT_INLINES 1 and #define __G_UTILS_C__.
2000-09-07 23:08:25 +00:00
Sebastian Wilhelmi
ef2dcd6265 s/G_MICROSEC/G_USEC_PER_SEC/
2000-09-06  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

	* gthread/gthread-posix.c, gthread/gthread-solaris.c:
	s/G_MICROSEC/G_USEC_PER_SEC/ and s/G_NANOSEC/G_NSEC_PER_SEC/
2000-09-06 13:56:17 +00:00
Sebastian Wilhelmi
702f1d12d0 .cvsignore updates
.cvsignore updates
2000-09-01 13:58:25 +00:00
Sebastian Wilhelmi
64bbfbb6da Include gerror.h before it is used for some g_thread_* functions.
2000-09-01  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

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

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

	* gthread-posix.c (g_thread_create_posix_impl): Use GError to
	report errors.
2000-09-01 13:03:23 +00:00
Owen Taylor
33df64519d Fix a couple of trivial bugs that were causing warnings.
Mon Aug 21 14:46:23 2000  Owen Taylor  <otaylor@redhat.com>

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

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

	* glib.h: Use C99 varargs macros where possible
	(check __STDC_VERSION__), otherwise, on gcc, use an alternate
	form of gcc varargs which is more likely
	to be supported going forward. (Based on some code
	from Raja Harinath)
2000-08-21 18:46:52 +00:00
Tor Lillqvist
3d6f441f96 New function, that calls g_source_remove(). Check return value of
2000-08-07  Tor Lillqvist  <tml@iki.fi>

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

	(recv_message): Call shutdown_source() on EOF condition. Return
	FALSE on G_IO_HUP and G_IO_ERR condition. Fix printf format typo.
2000-08-06 23:33:29 +00:00
Tor Lillqvist
1860151db0 Compile in the debugging code all the time, but only output debug messages
2000-07-30  Tor Lillqvist  <tml@iki.fi>

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

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

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

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

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

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

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

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

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

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

	* glib.def: Some new functions.

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

	* tests/Makefile.am
	* tests/makefile.mingw.in: Add it.
2000-07-29 20:59:07 +00:00
Tim Janik
c9bd7542e1 applied patch from Andreas Persenius <ndap@swipnet.se> that updates the
Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>

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

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

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

        * testglib.c: Added tests for g_strlcpy, g_strlcat.
2000-07-26 03:51:07 +00:00
Sebastian Wilhelmi
fec9828ac6 Mark the functions g_basename and g_dirname deprecated. They will issue an
2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

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

	* gmodule/libgplugin_a.c, gmodule/testgmodule.c: Use
	g_path_get_basename instead of the deprecated g_basename.
2000-07-20 16:58:54 +00:00
Tor Lillqvist
45adcf12c1 Include the "build" module in GLib, too, to make it more self-contained.
2000-07-15  Tor Lillqvist  <tml@iki.fi>

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

* */makefile.mingw.in: Include make.mingw from build in the glib
source directory.
2000-07-14 22:46:35 +00:00
Owen Taylor
eb023508ad Move glib-config to glib-config-2.0 move glib.m4 to glib-2.0.m4
Fri Jul 14 12:22:49 2000  Owen Taylor  <otaylor@redhat.com>

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

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

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

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

	* docs/Makefile.am (EXTRA_DIST): Remove info files
	from the build.
2000-07-14 19:22:54 +00:00
Owen Taylor
6e47268c14 updated
Thu Jun 29 15:57:28 2000  Owen Taylor  <otaylor@redhat.com>

        * NEWS: updated

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

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

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

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

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

	* testglib.c tests/string-test.c: Added tests for g_string_equal
	and tests for proper handling of embedded ASCII NUL characters.
2000-06-29 20:09:36 +00:00
Tor Lillqvist
88fd181eac Implement on Win32.
2000-05-30  Tor Lillqvist  <tml@iki.fi>

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

* glib.def: Add g_get_codeset.

* tests/Makefile.am (EXTRA_DIST): makefile.cygwin* has been
renamed to makefile.mingw*.
2000-05-30 20:46:03 +00:00
Tim Janik
1e5d06d4ce fixed SIZEOF_LONG==4 assumption with ENABLE_MEM_CHECK, from Art Haas
Fri May 19 09:00:44 2000  Tim Janik  <timj@gtk.org>

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

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

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

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

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

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

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

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

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

* glib.def: Add g_strcanon.

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

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

gmodule:

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

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

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

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

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

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

* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
2000-05-13 19:30:58 +00:00
Tor Lillqvist
586d5b11a8 makefile.cygwin.in Include the common makefile snippet from
2000-05-04  Tor Lillqvist  <tml@iki.fi>

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

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

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

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

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

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

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

	* tests/Makefile.am: Changed accordingly.
2000-04-28 12:24:53 +00:00
Sebastian Wilhelmi
1383e5b642 Made the debugging G_TRYLOCK call also work for compilers with funnt
2000-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

	* tests/thread-test.c: Implemented a check for that.
2000-04-19 09:29:19 +00:00
Sebastian Wilhelmi
8f02fac4ad Renamed g_queue_create to g_queue_new in conformance to all other GLib
2000-04-17  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib.h, gqueue.c, tests/queue-test.c (main): Renamed
	g_queue_create to g_queue_new in conformance to all other GLib
	data types.
2000-04-17 10:31:10 +00:00
Sebastian Wilhelmi
d3cdac0cdb .cvsignore adaptation
.cvsignore adaptation
2000-03-24 15:09:02 +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
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
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
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
Sebastian Wilhelmi
ecaaedcf58 updated .cvsignore 1999-11-16 12:30:49 +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
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
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
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
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
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
4d7172def0 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.

	* README.win32: Renew gcc build instructions.

	* build-dll: Comments change, handle also .a files.

	* makefile.cygwin.in
	* tests/makefile.cygwin.in: Remove .gcc from DLL name.
1999-07-21 19:18:03 +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