Commit Graph

654 Commits

Author SHA1 Message Date
Sebastian Wilhelmi
1f46d9f68f Added debug information for g_mutex_free calls, if G_ERRORCHECK_MUTEXES is
2001-01-30  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

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

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

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

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

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

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

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

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

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

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

	* giochannel.h: Improve Win32-related comments.

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

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

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

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

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

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

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

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

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

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

	* glibintl.h: g'ify types.

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

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

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

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

	* gwin32.h: Declare it.

	* testglib.c (main): Test it.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* glib.def: Update.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	* glib.def: Update.
2001-01-05 19:30:13 +00:00
Havoc Pennington
568691c600 remove glib-config-2.0
2001-01-02  Havoc Pennington  <hp@redhat.com>

	* configure.in: remove glib-config-2.0

	* Makefile.am: remove glib-config-2.0
2001-01-04 17:47:00 +00:00
Havoc Pennington
c52cce1b51 -I$(top_srcdir)/gmodule, fix from Michael Meeks
2001-01-03  Havoc Pennington  <hp@pobox.com>

* tests/Makefile.am (INCLUDES): -I$(top_srcdir)/gmodule,
fix from Michael Meeks

* Makefile.am (INCLUDES): DISABLE was spelled wrong
2001-01-04 03:49:45 +00:00
Owen Taylor
3ae4c59e3f Switch GMainLoop to be ref/unref, use to make dropping reference to
Wed Jan  3 14:10:49 2001  Owen Taylor  <otaylor@redhat.com>

	* gmain.[ch]: Switch GMainLoop to be ref/unref, use to
	make dropping reference to running loop safe.
2001-01-03 20:18:40 +00:00
Owen Taylor
07267bf096 Unref callback->cb_data if it was still set when the source is freed.
Wed Dec 13 20:41:49 2000  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_source_unref_internal): Unref callback->cb_data
	if it was still set when the source is freed. (Usually, this
	will be done by g_source_destroy.)
2001-01-03 16:05:39 +00:00
Dan Winship
e3c9221e8c Use parentheses around an argument to make these cause an error if you
* garray.h (g_array_append_val, g_array_prepend_val,
	g_array_insert_val): Use parentheses around an argument to make
	these cause an error if you pass a non-lvalue for the value,
	rather than silently doing the wrong thing.
2001-01-02 20:52:05 +00:00
Tor Lillqvist
cf1c65aed8 Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.
2000-12-29  Tor Lillqvist  <tml@iki.fi>

	* glibconfig.h.win32.in: Add GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG.

	* glib.def: Update.

	* {.,*}/makefile.{mingw,msc}.in: Add -DG_ENABLE_DEBUG.
2000-12-29 19:25:40 +00:00
Tim Janik
8ee6344419 we can't grow _cv_ variables by using a backticked expr that refers back
Fri Dec 29 14:53:18 2000  Tim Janik  <timj@gtk.org>

        * configure.in: we can't grow _cv_ variables by using a backticked
        expr that refers back to the variable (glib_cv_sizeof_system_thread for
        G_THREAD_USE_PID_SURROGATE), that'd keep the variable growing every time
        it's evaluated. quantum states, anyone?)
2000-12-29 15:11:03 +00:00
Tim Janik
782a8e2e7c got rid of outdated dmalloc support. provide g_try_malloc() and
Thu Dec 28 10:21:46 2000  Tim Janik  <timj@gtk.org>

        * gmem.[hc]: got rid of outdated dmalloc support. provide g_try_malloc()
        and g_try_realloc() which _may_ fail and return NULL.
        nuked g_mem_check(), provided GMemVTable for memory function
        virtualization, alterable at program startup with g_mem_set_vtable().
        provided glib_mem_profiler_table and g_mem_profile() to support limited
        profiling information out of the box (uses mprotect() for free()ed areas
        on linux).
        provide globally visible G_MEM_ALIGN.
        buncha cleanups.

        * docs/macros.txt: file to get a clue about the various configuration
        macros.

        * docs/debugging.txt: explain debugging traps.

        * configure.in: got rid of --enable-mem-check and --enable-mem-profile,
        define GLIB_SIZEOF_VOID_P and GLIB_SIZEOF_LONG. check malloc prototypes
        and define SANE_MALLOC_PROTOS is we can use them.
        <boy, is this file a mess>

        * gutils.c, gscanner.c: fix up compatibility warnings, use g_message().


Thu Dec 28 11:36:44 2000  Tim Janik  <timj@gtk.org>

        * gbsearcharray.c (upper_power2): disable G_BSEARCH_ALIGN_POWER2
        fucntionality if DISABLE_MEM_POOLS is defined.

        * gtype.c: honour DISABLE_MEM_POOLS.

        * gsignal.c (g_signal_init): flag signal key bsearch array with
        G_BSEARCH_ALIGN_POWER2 to avoid excessive growth time. honour
        DISABLE_MEM_POOLS.

        * gparam.h: added G_PARAM_READWRITE alias for (G_PARAM_READABLE |
                                                       G_PARAM_WRITABLE).
2000-12-29 02:16:51 +00:00
Tor Lillqvist
ab31e0c3ce Update.
2000-12-27  Tor Lillqvist  <tml@iki.fi>

	* README.win32: Update.
2000-12-27 20:56:15 +00:00
Tor Lillqvist
7a19b4cae9 Use a MessageBox for fatal messages. Collect eror message into a buffer,
2000-12-25  Tor Lillqvist  <tml@iki.fi>

	* gmessages.c: (Win32) Use a MessageBox for fatal
	messages. Collect eror message into a buffer, and display that.

	* glib.def: Update.

	* glibconfig.h.win32.in: Update. Remove unused wchar and wctype
	macros, add G_MODULE_SUFFIX.
2000-12-25 22:07:01 +00:00
Ali Abdin
855e230f31 New gcompat.h header file as recommended by Havoc.
2000-12-24  Ali Abdin  <aliabdin@aucegypt.edu>

        * Makefile.am, gcompat.h, glib.h: New gcompat.h header file
          as recommended by Havoc.

        * gdate.c, gdate.h, testgdate.c,
          docs/reference/glib/glib-sections.txt,
          docs/reference/glib/tmpl/date.sgml, tests/date-test.c: Rename some
          of the gdate functions to use the '_get' in their name. Patch
          reviewed by Havoc.
2000-12-24 12:11:06 +00:00
Sebastian Wilhelmi
57a7a2b010 Determine the suffix of the shared librarries for this system. This is
2000-12-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Determine the suffix of the shared librarries for
	this system. This is done analogous to
	ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
	"sl", "dll", or (most often) "so".

	* tests/Makefile.am, tests/module-test.c,
	tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
	Added new testcase for gmodule. This is mostly copied from
	gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
	some tests that verbose, not to say loquacious...)

	* gmodule.c: Make g_module_open more tolerant wrt to the module
	name. First it tries to open the module as named, if that fails,
	it checks, whether it is a libtool archive and parses it, if that
	fails it appends the systems shared library suffix
	(i.e. ".so") (if not already found) and tries again and if that
	fails it tries to append the ".la" libtool suffix (if not already
	found) and parses it.

	* gmodule.c: Lock recursive mutex during most module functions for
	safety.

	* gmodule-dl.c: Return an error from _g_module_symbol only, if
	dlerror says so. All other functions return an error as well, if
	dlerror returns NULL.

	* testgmodule.c: Thanks to the above change the #ifdefs have
	vanished.

	* glib/glib-sections.txt: Added G_MODULE_SUFFIX.

	* glib/tmpl/modules.sgml: Updated.
2000-12-22 13:44:25 +00:00
Sebastian Wilhelmi
32241715f4 Updated G_RAND_DOUBLE_TRANSFORM to be more accurate. Redid g_rand_double()
2000-12-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* grand.c: Updated G_RAND_DOUBLE_TRANSFORM to be more
	accurate. Redid g_rand_double() such that it returns 52 bits after
	the point instead of 32 as before. That OTOH requires calling
	g_rand_int() twice. Overhauled g_rand_int_range(), which is easier
	now thanks to the new precision of g_rand_double(). Thanks to
	Sverre Johansen <sj@ifi.uio.no> for the hint.

	* grand.h: Added g_rand_boolean() and g_random_boolean()
	macros. While they could be omitted due to extreme simplicity,
	they make intention clearer in code and are therefore good to have.

	* grand.c, grand.h: Renamed all 'min' and 'max' parameters to'
	begin' and 'end' resp. to avoid making people think, that 'max' is
	included in the interval. 'end' now isn't, whereas 'begin'
	is. That's similar to the use in the STL.

	* glib/glib-sections.txt: Added g_rand_boolean and
	g_random_boolean macros.

	* glib/tmpl/random_numbers.sgml: Updated.
2000-12-19 15:57:53 +00:00
Sebastian Wilhelmi
2fb47703e2 Ok, I'm a moron. When I originally implemented ENABLE_GC_FRIENDLY, I
2000-12-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gslist.c, glist.c: Ok, I'm a moron. When I originally
	implemented ENABLE_GC_FRIENDLY, I forgot to include config.h into
	the affected files. Now that Alex did that for those two,
	inevitable typos surfaced, which are now fixed.

	* garray.c, ghash.c, gqueue.c, gtree.c: Include config.h as well,
	as ENABLE_GC_FRIENDLY should be known.
2000-12-19 15:40:30 +00:00
Alexander Larsson
c7f80dbb13 Added --disable-mem-pools option.
2000-12-19  Alexander Larsson  <alexl@redhat.com>

	* configure.in:
	Added --disable-mem-pools option.

	* glist.c:
	* gslist.c:
	* gnode.c:
	* gmem.c:
	Disable free list and memory chunks if DISABLE_MEM_POOLS is defined.
2000-12-19 09:35:44 +00:00
Tor Lillqvist
4f9e04c1d7 Use GetACP to get the current ANSI codepage.
2000-12-17  Tor Lillqvist  <tml@iki.fi>

	* gutf8.c (g_utf8_get_charset_internal): (Win32) Use GetACP to get
	the current ANSI codepage.

	* gunicode.h: Add comment that the static string g_get_charset
	sets the parameter to point to should be copied in case the
	charset might be changed later in the program.
2000-12-17 18:43:57 +00:00
Tor Lillqvist
4986c4ac56 No need to -DGSPAWN_HELPER when compiling gspawn-win32-helper any longer.
2000-12-14  Tor Lillqvist  <tml@iki.fi>

	* makefile.{mingw,msc}.in: No need to -DGSPAWN_HELPER when
	compiling gspawn-win32-helper any longer.
2000-12-14 21:08:00 +00:00
Tor Lillqvist
b74e7d2f47 Warn if no callback. Call callback correctly. (g_io_win32_create_watch):
2000-12-14  Tor Lillqvist  <tml@iki.fi>

	* giowin32.c (g_io_win32_dispatch): Warn if no callback. Call
	callback correctly.
	(g_io_win32_create_watch): Fix typo.
	(g_io_win32_fd_create_watch): Ditto.
	(g_io_channel_unix_new): If it is a file descriptor (i.e., a Unix
	fd lookalike provided by the C library), call
	g_io_channel_win32_new_fd(). If it is a socket (from WinSock),
	call g_io_cahnnel_win32_new_stream_socket(). Hopefully sockets and
	fds don't overlap. TODO: Implement also datagram sockets.
	(g_io_channel_win32_poll): Call g_main_context_get_poll_func().

	* gcompletion.h: Include <unistd.h> only on Unix. Is this
	inclusion really needed here? OTOH, do include <stddef.h>, for
	size_t.

	* gmessages.c: (Win32) Don't define a function called "write" that
	might clash with the prototype from <io.h>, use a #define.

	* glib.def: Update.

	* gmain.c (g_source_add_poll): Don't return a value from void
	function.
	(g_main_context_get_poll_func): Compile also for non-Win32, as
	presumably was intended. The result var is a GPollFunc, not a
	GPollFunc*. Return the result!

gobject:

 2000-12-14  Tor Lillqvist  <tml@iki.fi>

	* makefile.mingw.in: Update, include parts from Makefile.am to
	build gmarshal.[ch]. Some day, we won't need these separate
	makefiles for Win32 compilation. I hope.

	* makefile.msc.in: Update. No use trying to build gmarshal.[ch]
	here, it would require Unixish tools. MSVC users building from CVS
	sources are out of luck.

	* gobject.def: Update.
2000-12-14 21:02:20 +00:00
Havoc Pennington
b0baf3db03 make static
2000-12-13  Havoc Pennington  <hp@redhat.com>

	* gconvert.c (open_converter): make static

	* gutf8.c (g_utf8_validate): Simplify logic a bit, maybe
	speeding it up - now we just return FALSE if we had to bail out
	for any reason before getting to the end of the string, as defined
	by a nul byte if len was -1, defined by the len otherwise. This
	also fixes a bug where nul bytes were not treated as invalid
	when the length was specified.
2000-12-13 23:54:51 +00:00
Havoc Pennington
9edb08492d don't try to use thread stuff unless G_THREADS_ENABLED
2000-12-12  Havoc Pennington  <hp@pobox.com>

* gmain.c (g_main_context_destroy): don't try to use thread stuff
unless G_THREADS_ENABLED
(g_main_context_query): ditto
(g_main_context_check): ditto
(g_main_loop_quit): ditto
2000-12-13 04:23:45 +00:00
Tim Janik
9a8c33db5c return whether a value got removed.
Tue Dec 12 18:58:22 2000  Tim Janik  <timj@gtk.org>

        * ghash.c (g_hash_table_remove): return whether a value
        got removed.

Tue Dec 12 23:38:02 2000  Tim Janik  <timj@gtk.org>

        * Makefile.am: _never_ touch oldest-source-stamp.

        * gobject.[hc]: construct property handling fixes/improvements.
        fixed trailer handling in get/set property.

        * gparam.[hc]: implement param spec pool, got rid of param spec
        hashtable. the most prominent change is that e deal with type
        prefixes here.
2000-12-13 00:44:18 +00:00
Owen Taylor
70a7a7654e Revert unauthorized changes.
Tue Dec 12 15:18:10 2000  Owen Taylor  <otaylor@redhat.com>

	* gmain.[ch]: Revert unauthorized changes.
2000-12-12 20:23:37 +00:00
Elliot Lee
8f7579774c GMainContext useful in implementing some additional styles of main loop
* gmain.c, gmain.h (g_main_context_new, g_main_context_destroy): GMainContext useful
in implementing some additional styles of main loop usage.  To do this, however, Joe
Hacker needs to be able to create/destroy GMainContext's at will. This is just an
export of existing functionality, rather than new functionality.

They are listed in the "Low level functions for implementing custom main loops"
section of the header file, to avoid confusing people.

* gobject/Makefile.am:
  . You have to 'touch oldest-source-stamp' if you want to avoid having
  the Makefile constantly rebuild itself.
  . Fix marshaller generation rules to work with srcdir != builddir
    (there were issues with trying to run "./glib-genmarshal", etc.)
2000-12-12 19:34:41 +00:00
Owen Taylor
cbd74878d1 Remove pollfds from the context here, not when actually freeing the
Sun Dec 10 10:47:11 2000  Owen Taylor  <otaylor@redhat.com>

	* gmain.c (g_source_destroy_internal): Remove pollfds
	from the context here, not when actually freeing the
	source.

	* gmain.c (g_source_unref_internal): Free source list
	and source, call source->source_funcs->destroy().

	* giochannel.c: Unreference io_channel properly.
2000-12-10 16:02:48 +00:00
Raja R Harinath
31fc683b98 Rename from GLIB_DIVERT_BEFORE_HELP. Update to track autoconf 2.49b.
* acglib.m4 (GLIB_AC_DIVERT_BEFORE_HELP):
Rename from GLIB_DIVERT_BEFORE_HELP.
Update to track autoconf 2.49b.
* configure.in: Reflect above change.
(AC_EGREP_HEADER): Rename from really obselete AC_HEADER_EGREP.
(debug_default): Replace "if test `expr ...`" with "case".
2000-12-08 22:48:45 +00:00
Raja R Harinath
8f0a794c15 Fix typo, and fix some formatting. 2000-12-08 21:23:30 +00:00
Raja R Harinath
0b6e1350e1 Rearrange into other veriables, and include run-markup-tests.sh.
* tests/Makefile.am (TESTS): Rearrange into other veriables, and
include run-markup-tests.sh.
(TESTS_ENVIRONMENT): New.  Pass $srcdir to tests.
(noinst_PROGRAMS): Rename to ...
(check_PROGRAMS): ... this.  'automake' ensures that these are
built before running the tests.
* tests/run-markup-tests.sh: Support $srcdir != $builddir.
2000-12-08 21:04:52 +00:00
Havoc Pennington
dd087e5aaa move markup-test to noinst_PROGRAMS; it isn't a proper test, the proper
2000-12-08  Havoc Pennington  <hp@pobox.com>

* tests/Makefile.am (TESTS): move markup-test to noinst_PROGRAMS;
it isn't a proper test, the proper test would be
run-markup-tests.sh, but that can't go in tests, so we need
a manual make check rule. Didn't do that yet.
2000-12-08 15:03:12 +00:00
Raja R Harinath
dc7d6c2464 Don't put anything after an #endif. Likewise.
* gmain.h: Don't put anything after an #endif.
* gmain.c: Likewise.
2000-12-08 03:39:47 +00:00
Havoc Pennington
e5c1f207c9 add g_strdupv test
2000-12-06  Havoc Pennington  <hp@pobox.com>

* tests/strfunc-test.c (main): add g_strdupv test

* gstrfuncs.c (g_strdupv): Add a function to copy
an array of strings
2000-12-07 04:48:37 +00:00
Owen Taylor
e2fd4e2bd0 Major change in API for creating sources to handle multiple main loops
Tue Dec  5 12:23:04 2000  Owen Taylor  <otaylor@redhat.com>

        * gmain.[hc]: Major change in API for creating sources
	to handle multiple main loops (GMainContext *).

	GSources are now exposed as GSource * and implemented
	with structure derivation.

	* giochannel.[ch]: Changed vtable for GIOChannel to correspond
	to the new mainloop API, add g_io_channel_create_watch().

	* gtypes.h: Move GTimeVal here.

	* gthread.h: Remove gmain.h include to avoid circularity.

        * giounix.c: Update for new GMain API.

	* giowin32.c: Update for new GMain API. (No check for
	proper compilation or working.)

	* timeloop.c timeloop-basic.c: A benchmarking program for
	the main loop comparing the main loop against a
	hand-written (timeloop-basic.c) variant.

	* tests/mainloop-test.c: New torture test of mainloop.

	* docs/Changes-2.0.txt: Started. Added text about
	changes to GMain.

	* gmain.c (g_main_add_poll_unlocked): Initial fd->revents
	to zero. (#8482, Benjamin Kahn)
2000-12-05 20:45:33 +00:00
Tor Lillqvist
74987b2cf0 Include make.msc from GLib's build subdir.
2000-12-01  Tor Lillqvist  <tml@iki.fi>

	* {.,*}/makefile.msc.in: Include make.msc from GLib's build subdir.

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

	* glib.def: Update correspondingly.
2000-12-01 15:11:54 +00:00
Havoc Pennington
430ae18e5b Provide G_CONST_RETURN which is 'const' by default, and nothing when
2000-11-21  Havoc Pennington  <hp@pobox.com>

* gmacros.h: Provide G_CONST_RETURN which is 'const' by default,
and nothing when G_DISABLE_CONST_RETURNS is defined.
2000-12-01 05:42:51 +00:00
Havoc Pennington
5495142560 Forgot gunibreak.c, mistake in ChangeLog 2000-11-29 23:49:44 +00:00
Havoc Pennington
7fce6d3abc s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/
2000-11-29  Havoc Pennington  <hp@redhat.com>

	* gunidecomp.c (COMBINING_CLASS): s/UNICODE_LAST_CHAR/G_UNICODE_LAST_CHAR/

	* gunichartables.h: Update for data in Unicode 3.0.1,
	and include tables for line break properties

	* gunidecomp.h: Ditto

	* gunicode.h (GUnicodeBreakType): Enum for line break properties
	(g_unichar_break_type): Get the break property for a char

	* gunibreak.h: Autogenerated line break property tables

	* gunibreak.c (g_unichar_break_type): added

	* Makefile.am (EXTRA_DIST): dist gen-unicode-tables.pl

	* Makefile.am (libglib_1_3_la_SOURCES): Add gunibreak.h, gunibreak.c

	* gen-unicode-tables.pl: Include the script to update the unicode
	char tables
2000-11-29 23:38:24 +00:00
Elliot Lee
790a7bd3be Fix warnings.
* gmarkup.c: Fix warnings.

* guniprop.c, gunidecomp.c: Make warnings go away by using
GPOINTER_TO_INT() instead of (int).

* gcompletion.[ch]: Add g_completion_set_compare(),
to allow (for example) using case-insensitive completion.

* gobject/gsignal.c: Fix warnings about possible use of uninitialized
variables, and fix logic that would leave 'node' unset in cases
that it might be used in.

* gobject/glib-genmarshal.c: Fix warning about printf format.
2000-11-28 23:44:21 +00:00
Tor Lillqvist
55c7329d51 Patches by Hans Breuer:
2000-11-28  Tor Lillqvist  <tml@iki.fi>

	Patches by Hans Breuer:

	* gspawn-win32.c: Move the code for gspawn-win32-helper to its own
	file.

	* makefile.{mingw,msc}.in: Change accordingly.

	* gspawn-win32-helper.c: New file.

	* Makefile.am (EXTRA_DIST): Add it.

	* gmarkup.c (find_current_text_end): Fix assertion not to check an
	uninitialised variable.

	* gboxed.c: Include <string.h> for memset ().
2000-11-28 20:04:08 +00:00
Sebastian Wilhelmi
fe0f325777 Revamped errorcheck mutexes and added errorcheck cond_wait() and
2000-11-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gthread-impl.c: Revamped errorcheck mutexes and added errorcheck
	cond_wait() and cond_timed_wait() funtions. This makes he whole
	thing work. Now we only show the location of the locking/unlocking
	for -DG_ERRORCHECK_MUTEXES and not the name of the mutex.

	* gthread.c: Set the thread data before locking the mutex, because
	the locking call might use g_thread_self ().

	* gthread.h: Do only show the location of the locking/unlocking
	for -DG_ERRORCHECK_MUTEXES and not the name of the mutex. Add the
	errorcheck capability for g_cond_wait and g_cond_timed_wait as
	well.
2000-11-28 12:56:57 +00:00
Havoc Pennington
dd58473e07 Add void in empty function arg list
2000-11-27  Havoc Pennington  <hp@redhat.com>

        * gthread.h: Add void in empty function arg list
2000-11-28 01:03:45 +00:00
Tor Lillqvist
dcce67b022 Add gqsort.
2000-11-22  Tor Lillqvist  <tml@iki.fi>

	* makefile.{mingw,msc}.in: Add gqsort.

	* glib.def: Update.

	* gobject.def: Update.
2000-11-26 16:28:01 +00:00
Sebastian Wilhelmi
a3036a5bd2 Add a surrogate for thread priorities using PID niceness for systems with
2000-11-21  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* configure.in: Add a surrogate for thread priorities using PID
	niceness for systems with no thread priorities and different PIDs
	for threads of the same process (most notably: Linux). Define
	G_THREAD_USE_PID_SURROGATE in that case, as used by
	gthread-posix.c. Also make the system thread bigger by
	sizeof (long) to contain the thread's PID.

	* gfileutils.c: Include stdlib.h for mkstemp prototype.

	* gthread.c: Add priority range checks to the affected functions.

	* gthreadpool.c: Remove unused variable.

	* gthread-impl.c, gthread-posix.c, gthread-solaris.c: Removed
	g_thread_map_priority function in favour of the
	g_thread_priority_map array.  Initialize the array with
	PRIORITY_{...}_VALUE, if available and interpolate beetween the
	bounds if .._NORMAL_.. and .._HIGH_.. are not available.

	* gthread-posix.c: If we should use the PID niceness as a
	surrogate for thread priorities (G_THREAD_USE_PID_SURROGATE is
	defined), then disable normal priority handling and use PIDs and
	setpriority() instead. Depends on the thread to write its PID into
	the place after the thread id right after thread creation.
2000-11-21 15:27:44 +00:00
Jonathan Blandford
2645aaf59c Patch from David Benson <daveb@idealab.com> to add user_data support to
Mon Nov 20 18:55:17 2000  Jonathan Blandford  <jrb@redhat.com>

	* gtree.[hc]: Patch from David Benson <daveb@idealab.com> to add
	user_data support to gtree functions.

Mon Nov 13 18:35:52 2000  Jonathan Blandford  <jrb@redhat.com>

	* gtypes.h (GCompareFuncData): new func type to let you use user
	data when comparing nodes.

	* gslist.c (g_list_sort_with_data): new function to sort with
	user_data.

	* glist.c (g_list_sort_with_data): new function to sort with
	user_data.

	* garray.[ch]: Added convenience functions to sort arrays.
2000-11-20 23:59:32 +00:00
Havoc Pennington
399ad0b8b0 Use a switch here, maybe helps the compiler optimize things. Also, ' ' is
2000-11-16  Havoc Pennington  <hp@redhat.com>

	* guniprop.c (g_unichar_isspace): Use a switch here, maybe helps
	the compiler optimize things. Also, ' ' is a SPACE_SEPARATOR,
	so don't special case it.
2000-11-20 15:14:14 +00:00
Tor Lillqvist
b24f1d179e Add g_trash_stack entry points.
2000-11-17  Tor Lillqvist  <tml@iki.fi>

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

        * Released 1.3.2

	* NEWS: Update.

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

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

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

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

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

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

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

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

	* configure.in: Up version to 1.3.2

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

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

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

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

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

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

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

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

	* INSTALL: Added note about libiconv.

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

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

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

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

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

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

	* glib.def: Add missing entry points.

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

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

	* gfileutils.h: Add g_file_open_tmp() declaration.

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

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

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

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

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

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

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

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

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

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

* gmarkup.h: rename G_MARKUP_FOO to
G_MARKUP_DO_NOT_USE_THIS_UNSUPPORTED_FLAG

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

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

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

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

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

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

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

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

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

	* glib/Makefile.am: Add new files

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

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

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

* gfileutils.c (g_mkstemp): clean up docs

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

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

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

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

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

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

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

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

	* configure.in: Check for mkstemp.

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

	* gutils.h: Declare it.

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

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

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

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

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

	* glib.def: Add missing functions.

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

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

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

	* tests/Makefile.am: add markup-test

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

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

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

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

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

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

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

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

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

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

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

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

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

        * genum.c: macro cleanups.

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

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

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

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

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

        * many const corrections over the place.

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

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

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

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

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

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

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

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

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

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

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

	* Makefile.am: Add it here.

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

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

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

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

	* glibconfig.h.win32.in: Remove alloca stuff from here. galloca.h
	takes care of it, correctly.
2000-10-16 19:55:26 +00:00