2467 Commits

Author SHA1 Message Date
Tor Lillqvist
55d624d80c Fix #117925 (Dov Grobgeld):
2003-08-16  Tor Lillqvist  <tml@iki.fi>

	Fix #117925 (Dov Grobgeld):

	* glib/gutils.c (g_find_program_in_path, g_basename,
	g_path_get_basename, g_path_is_absolute, g_path_skip_root,
	g_path_get_dirname, g_get_any_init): On Win32, look also for
	slashes ('/') as pathname separators.

	* glib/gfileutils.c (g_file_open_tmp): Ditto. If the template
	contains a pathname separator, include the actual one in the error
	message, instead of always the canonical one.

	(g_build_filename): Separate implementation on Win32 that looks
	for either slash or backslash. Document Unix/Windows differences.

	* tests/testglib.c
	* tests/strfunc-test.c: Test above functionality on Win32.
2003-08-16 19:45:25 +00:00
Tor Lillqvist
3f3bb7fef3 [Win32] Don't exceed handle array bounds. Warn if there would be too many
2003-08-15  Tor Lillqvist  <tml@iki.fi>

	* glib/gmain.c (g_poll): [Win32] Don't exceed handle array
	bounds. Warn if there would be too many handles to wait
	for. (WaitForMultipleObjects() has a relatively low limit of 64
	handles. The Win32 IO channel code should be fixed not to need to
	wait for one handle per file or socket being watched. Later.)
2003-08-15 05:06:16 +00:00
Anders Carlsson
12eae9a669 Add .cvsignore 2003-08-13 08:39:41 +00:00
Tor Lillqvist
a44c1da1c4 glib/Makefile.am gmodule/Makefile.am gobject/Makefile.am Use srcdir also
2003-08-13  Tor Lillqvist  <tml@iki.fi>

	* glib/Makefile.am
	* gmodule/Makefile.am
	* gobject/Makefile.am
	* gthread/Makefile.am: Use srcdir also in references to the .def
	files. (#118885, Jeff Bonggren)
2003-08-13 00:24:21 +00:00
Tor Lillqvist
2b553df50d Drop the Win32-specific implementation. It used WideCharToMultiByte(),
2003-08-12  Tor Lillqvist  <tml@iki.fi>

	* glib/gconvert.c (g_locale_from_utf8): Drop the Win32-specific
	implementation. It used WideCharToMultiByte(), which is broken as
	it stores unconvertable characters as fallback characters
	(question marks) in the destination string without being able to
	tell how much of the conversion succeeded. Using g_convert() like
	on Unix is better and simpler. (#117872)

	(g_locale_to_utf8): No need for the Win32-specific implementation
	here, either.

	(have_broken_filenames): Define as TRUE on Win32.

	(g_filename_to_utf8, g_filename_from_utf8): Drop Win32 ifdefs. As
	have_broken_filenames() now is defined TRUE on Win32, works as
	before.
2003-08-13 00:13:02 +00:00
Tor Lillqvist
6489e6a5d5 Don't use a cache of variable name to value mappings on Win32, as that
2003-08-10  Tor Lillqvist  <tml@iki.fi>

	* glib/gutils.c (g_getenv): Don't use a cache of variable name to
	value mappings on Win32, as that breaks g_setenv() and
	g_unsetenv(). Only call ExpandEnvironmentStrings() if necessary,
	and in that case return a quarkified string. It is still
	questionable how necessary expanding embedded environment variable
	references is. Possibly the whole Win32-specific g_getenv()
	implementation could be removed. (#119520)
2003-08-10 08:04:10 +00:00
Tor Lillqvist
6fb380e374 Add g_once_impl.
2003-08-08  Tor Lillqvist  <tml@iki.fi>

	* glib/glib.def: Add g_once_impl.
2003-08-10 01:54:02 +00:00
Tor Lillqvist
63d5300574 Fix syntax error in the !HAVE_SETENV case.
2003-08-08  Tor Lillqvist  <tml@iki.fi>

	* glib/gutils.c (g_setenv): Fix syntax error in the !HAVE_SETENV
	case.
2003-08-08 20:38:15 +00:00
Matthias Clasen
96838a7a88 Add tests for '=' in names and values.
2003-08-07  Matthias Clasen  <maclas@gmx.de>

	* tests/env-test.c: Add tests for '=' in names and values.

	* glib/gutils.c (g_setenv, g_unsetenv): Check that the variable name doesn't contain '='. Add a
	declaration for environ.  (#119338)
2003-08-07 21:51:38 +00:00
Owen Taylor
b51c0d2f70 Make the default priority for idle sources G_PRIORITY_DEFAULT_IDLE as
Thu Aug  7 14:15:44 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c (g_idle_source_new): Make the default priority
        for idle sources G_PRIORITY_DEFAULT_IDLE as anybody would
        expect and document that. (#114461, reported by Andy Wingo)
2003-08-07 18:19:23 +00:00
Noah Levitt
ffa5f95327 Fix small mistake in last commit. (still falls in the same Changelog entry) (#118957) 2003-08-06 01:25:46 +00:00
Noah Levitt
8fa63e43c8 Get rid of "len" parameter to output_special_case and output_marks, and
2003-08-05  Noah Levitt  <nlevitt@columbia.edu>

	* glib/guniprop.c: Get rid of "len" parameter to output_special_case
	and output_marks, and make them work more like g_unichar_to_utf8,
	fixing a bug in the process. (#118957)
2003-08-06 01:08:46 +00:00
Hans Breuer
1fd50a1454 for msvc build
2003-08-05  Hans Breuer  <hans@breuer.org>

	* glib/gnulib/makefile.msc : (new file) for msvc build

	* glib/gnulib/vasnprintf.c : use glib/galloc.h

	* glib/gnulib/printf.h : #include <stdio.h> for FILE*

	* glib/makefile.msc.in : replace trio with gnulib

	* glib/glib.def : updated externals

	* glib/guniprop.c : fix for guniprop.c(582) : error C2082:
	redefinition of formal parameter 'len'
2003-08-05 22:21:19 +00:00
Noah Levitt
05f99527eb Update Unicode data to 4.0. (#107974)
2003-07-30  Noah Levitt  <nlevitt@columbia.edu>

	* glib/gen-unicode-tables.pl:
	* glib/gunibreak.c:
	* glib/gunibreak.h:
	* glib/gunichartables.h:
	* glib/gunicode.h:
	* glib/gunicomp.h:
	* glib/gunidecomp.c:
	* glib/gunidecomp.h:
	* glib/guniprop.c:
	* tests/casefold.txt:
	* tests/casemap.txt:
	* tests/gen-casefold-txt.pl:
	* tests/gen-casemap-txt.pl: Update Unicode data to 4.0. (#107974)
2003-07-31 02:27:56 +00:00
Tor Lillqvist
cdf72b09e6 When possible, manage without the helper process. (Part of the
2003-07-31  Tor Lillqvist  <tml@iki.fi>

	* glib/gspawn-win32.c: When possible, manage without the helper
	process. (Part of the enhancements outlined in #98737.) Speeds up
	GIMP 1.3's first-time-run plug-in query phase a lot.

	Plug a file descriptor (and thus Win32 handle) leak: close the
	read end of the child error report pipe after use.
2003-07-31 01:25:19 +00:00
Matthias Clasen
b3814b0cdc Small doc additions. 2003-07-30 19:00:36 +00:00
Matthias Clasen
beca86c32b Small doc fixes. 2003-07-30 18:50:26 +00:00
Matthias Clasen
15edef6ff2 Rename g_read_link() to g_file_read_link() to better match the remaining
* glib/gfileutils.[hc]: Rename g_read_link() to g_file_read_link() to better match the remaining file
	utilities in the g_file_ namespace and to better separate it from readlink(). This is hopefully no problem
	as the function is just 2 days old.
2003-07-29 22:31:40 +00:00
Matthias Clasen
cf9779628e Use gchar, gint, gsize instead of char, int, size_t in the interface for
2003-07-29  Matthias Clasen  <maclas@gmx.de>

	* glib/gqsort.[hc] (g_qsort_with_data):
	* glib/gconvert.[hc] (g_filename_to_uri, g_filename_from_uri):
	* glib/gfileutils.[hc] (g_mkstemp, g_file_open_tmp): Use gchar, gint, gsize instead of char, int, size_t
	in the interface for consistency.  (#118567)
2003-07-29 18:59:23 +00:00
Matthias Clasen
352c03fd39 Remove trio printf(). 2003-07-28 23:00:51 +00:00
Matthias Clasen
3c51de64fe Integrate gnulib vasnprintf(). 2003-07-28 23:00:05 +00:00
Matthias Clasen
3389a051da Add gnulib vasnprintf(). 2003-07-28 22:58:01 +00:00
Matthias Clasen
355eb38190 New function g_read_link(). (#72545)
* glib/gfileutils.h:
	* glib/gfileutils.c: New function g_read_link(). (#72545)
2003-07-28 19:49:47 +00:00
Matthias Clasen
f723402708 Add g_setenv() and g_unsetenv(). (#100763)
* glib/gutils.[ch]: Add g_setenv() and g_unsetenv().  (#100763)
2003-07-28 19:24:22 +00:00
Matthias Clasen
5eb34aa96e test suite additions. 2003-07-26 09:24:46 +00:00
Matthias Clasen
971af34af9 New functions to remove a range of elements from an array. (#94879, Nalin
2003-07-26  Matthias Clasen  <maclas@gmx.de>

	* glib/garray.h:
	* glib/garray.c (g_{,byte,pointer}_remove_range): New functions to remove a range of elements
	from an array.  (#94879, Nalin Dahyabhai)
2003-07-26 08:03:16 +00:00
Matthias Clasen
ffa186dfc9 Remove the 1024 char limit in the common (non-recursive) case.
2003-07-26  Matthias Clasen  <maclas@gmx.de>

	* glib/gmessages.c (g_logv): Remove the 1024 char limit in the common (non-recursive)
	case.
2003-07-25 23:17:23 +00:00
Matthias Clasen
a412fb1654 Remove some explicit Docbook markup which is no longer necessary
since gtk-doc does the right thing.
2003-07-25 21:32:47 +00:00
Matthias Clasen
b205c9267b Work around gtk-doc stupidity.
2003-07-25  Matthias Clasen  <maclas@gmx.de>

	* glib/gutf8.c (g_utf8_get_char_validated): Work around gtk-doc stupidity.
2003-07-24 23:07:29 +00:00
Hans Breuer
709941e57b for msvc build
2003-07-20  Hans Breuer  <hans@breuer.org>

	* glib/trio/makefile.msc : (new file) for msvc build
2003-07-20 15:55:49 +00:00
Hans Breuer
2781d5f6b3 for msvc build
2003-07-20  Hans Breuer  <hans@breuer.org>

	* glib/trio/makefile.msc : (new file) for msvc build

	* glib/glib.def : removed some duplicated entries

	* glib/gscanner.c : add same workaround for MSVC(5.0)
	which does not allow to cast an uint64 to float.
	Same as in gvaluetransform.c
	Also move #include <io.h> behind inclusion of "glib.h"
	which defines the needed G_OS_WIN32

	* glib/makefile.msc.in : added gprintf.obj, trio\trio.lib
	as well as shell32.lib

	* tests/spawn-test.c : include <io.h> on win32
2003-07-20 15:55:09 +00:00
Manish Singh
ca1ff92c51 check if context->poll_chunk is set before trying to destroy it. For
Wed Jul  9 16:27:26 2003  Manish Singh  <yosh@gimp.org>

        * glib/gmain.c (g_main_context_unref_and_unlock): check if
        context->poll_chunk is set before trying to destroy it. For example,
        This can happen if no sources are added to a context before it is
        freed.
2003-07-09 23:31:20 +00:00
Matthias Clasen
f1c0e401ab Doc additions.
2003-07-12  Matthias Clasen  <maclas@gmx.de>

	* glib/gprintf.c: Doc additions.

2003-07-12  Matthias Clasen  <maclas@gmx.de>

	* glib/tmpl/string_utils.sgml: Add a paragraph about string precision, add links to it.
	Remove markup which is now handled better by gtk-doc.
2003-07-09 19:32:16 +00:00
Morten Welinder
27b50b6d43 Avoid var declaration after statement.
2003-07-09  Morten Welinder  <terra@gnome.org>

	* glib/gprintf.c (g_vasprintf): Avoid var declaration after
	statement.
2003-07-09 19:32:16 +00:00
Matthias Clasen
876f907863 Support for one-time initialization functions. (#69668, Sebastian
2003-07-09  Matthias Clasen  <maclas@gmx.de>

	Support for one-time initialization functions.  (#69668, Sebastian Wilhelmi)

	* configure.in: Check whether double checked locking is safe, define g_once() in
	glibconfig.h accordingly.
	* glib/gthread.h: Add GOnce, GOnceStatus, G_ONCE_INIT and g_once_impl.
	* glib/gthread.c (g_once_impl): Fallback implementation using a mutex if double checked
	locking is unsafe.
	* tests/thread-test.c: Add tests for g_once().
2003-07-08 23:43:48 +00:00
Matthias Clasen
8940b82eb4 Move g_strfreev() docs inline.
2003-07-02  Matthias Clasen  <maclas@gmx.de>

	* glib/tmpl/string_utils.sgml: Move g_strfreev() docs inline.
2003-07-01 22:15:54 +00:00
Abigail Brady
5c903d283b Use C99 style \uxxxx and \Uxxxxyyyy escapes instead for fallback instead
2003-06-25  Abigail Brady  <morwen@evilmagic.org>

 	* glib/gconvert.c (g_convert_with_fallback): Use C99 style \uxxxx
 	and \Uxxxxyyyy escapes instead for fallback instead of perl-style
 	\X{xxxx} ones, fixing bug #114284.
2003-06-25 18:03:38 +00:00
Tor Lillqvist
98ba2b5ee3 Pass real &optval and &optlen to getsockopt() instead of NULL. Don't
2003-06-25  Tor Lillqvist  <tml@iki.fi>

	* glib/giowin32.c (g_io_channel_unix_new): Pass real &optval and
	&optlen to getsockopt() instead of NULL. Don't remember why I
	thought that NULL could be used (as we don't actually use the
	returned value for anything), the Platform SDK documentation
	doesn't imply so.
2003-06-25 03:06:24 +00:00
Matthias Clasen
67c48e49ee Move the documentation inline and add details. (#108505) Move
2003-06-19  Matthias Clasen  <maclas@gmx.de>

	* glib/gutils.c (g_path_get_basename): Move the documentation
	inline and add details.  (#108505)
	* glib/tmpl/misc_utils.sgml: Move g_path_get_basename() docs inline.
2003-06-18 23:12:56 +00:00
Tor Lillqvist
94fed3f988 libtool 1.5 installs DLLs in the bin subdirectory, so get them from there.
2003-06-11  Tor Lillqvist  <tml@iki.fi>

	* glib-zip.in (DEVZIP): libtool 1.5 installs DLLs in the bin
	subdirectory, so get them from there.

	* glib/gwin32.c (g_win32_getlocale): Use "sr@Latn" and "sr" in the
	same way as the po files for Serbian in Latin and Cyrillic script.
2003-06-11 22:06:16 +00:00
Tor Lillqvist
51704100d0 Fix indentation and spacing. Use INADDR_LOOPBACK instead of
2003-06-08  Tor Lillqvist  <tml@iki.fi>

	* glib/giowin32.c: Fix indentation and spacing. Use
	INADDR_LOOPBACK instead of inet_addr("127.0.0.1") and
	gethostbyaddr().
2003-06-08 01:38:13 +00:00
Andy Lanoix
be76dd63f9 Resolved thread deadlocks in socket ichannel code to support
* glib/giowin32.c: Resolved thread deadlocks in socket
	ichannel code to support Add-Cancel-Add watch functionality
	on windows. Also cleaned up socket error handling to not
	segfault and do the right thing.
2003-06-07 20:31:28 +00:00
Owen Taylor
4a21238fef When dispatching a source that is !CAN_RECURSE, temporarily remove any
Thu Jun  5 23:40:31 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/gmain.c: When dispatching a source that is
        !CAN_RECURSE, temporarily remove any file descriptors
        that that source has registered from the main loop, to keep
        recursive main loops from busy-waiting if input
        becomes available on one of those file descriptors.
        (#112222, Christian Krause)

        * glib/gmain.c (g_source_set_priority): Properly
        remove the source from the context's source list
        and reinsert it sorted, rather than simply setting
        source->next/prev to NULL! (#114274)
2003-06-06 03:54:03 +00:00
Matthias Clasen
cc777da9c1 Use g_vasprintf() and g_string_append_len(), thus enabling embedded nuls
2003-06-06  Matthias Clasen  <maclas@gmx.de>

	* glib/gstring.c (g_string_append_printf_internal): Use
	g_vasprintf() and g_string_append_len(), thus enabling embedded
	nuls in the result of g_string_printf().  (#92492, Owen Taylor)

	* tests/string-test.c: Add a test for embedded nuls in the
	result of g_string_printf().
2003-06-05 23:04:21 +00:00
Matthias Clasen
27b3b2c681 Synchronize argument names with headers and docs. (g_vasprintf): An
2003-06-06  Matthias Clasen  <maclas@gmx.de>

	* glib/gprintf.[ch]: Synchronize argument names with headers and docs.
	(g_vasprintf): An implementation of vasprintf(), code was lifted
	from g_strdup_vprintf().  (#112365)

	* glib/gstrfuncs.c (g_strdup_vprintf): Just use g_vasprintf().
2003-06-05 22:47:42 +00:00
Tor Lillqvist
1cf610e216 glib/giochannel.h Remove bogus (Win32-only) declaration of
2003-06-05  Tor Lillqvist  <tml@iki.fi>

	* glib/giochannel.h
	* glib/gmain.h: Remove bogus (Win32-only) declaration of
	g_main_poll_win32_msg_add(). No such function exists.

	* glib/gmain.c (g_poll) [Win32]: Use g_win32_error_message() for
	better warning messages.
2003-06-05 22:18:27 +00:00
Noah Levitt
fef203f9f7 Fix typo (#114375). Also, make the function static.
2003-06-04  Noah Levitt  <nlevitt@columbia.edu>

	* glib/gunidecomp.h (combine): Fix typo (#114375). Also, make the
	function static.
2003-06-04 20:53:55 +00:00
Owen Taylor
5f5ab2384c Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)
Mon Jun  2 14:18:21 2003  Owen Taylor  <otaylor@redhat.com>

        Patch from Jeffrey Stedfast <fejj@ximian.com> (#104825)

        * glib/gspawn.c (read_data): Don't read() into '&buf', while this
        is technically okay - it is clearer as just 'buf'.
        (write_all): New helper function that handles write() interrupts.
        (write_err_and_exit): Use write_all() instead of write().
        (fork_exec_with_pipes): Same here.
2003-06-02 18:20:25 +00:00
Owen Taylor
6e6bbbd4d5 Put the g_return_val_if_fail() in the right place.
Sun Jun  1 09:42:36 2003  Owen Taylor  <otaylor@redhat.com>

        * glib/giochannel.c (g_io_error_get_from_g_error): Put
        the g_return_val_if_fail() in the right place.
2003-06-01 13:44:47 +00:00
Ray Strode
934317e809 Fix typo: should be G_IO_ERROR_UNKNOWN not G_ERROR_ERROR_UNKNOWN
Fri May 31 1:17:45 2003  Ray Strode  <halfline@hawaii.rr.com>

        * glib/giochannel.c (g_io_channel_error_from_errno):
        Fix typo: should be G_IO_ERROR_UNKNOWN not
        G_ERROR_ERROR_UNKNOWN
2003-05-31 16:10:50 +00:00