377 Commits

Author SHA1 Message Date
Matthias Clasen
d73f478058 Sigh, protect against pw->pw_gecos being "" as well. (#132317, Kaj-Michael
Fri Jan 23 22:49:52 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gutils.c (g_get_any_init): Sigh, protect against
	pw->pw_gecos being "" as well.  (#132317, Kaj-Michael Lang)
2004-01-23 21:49:21 +00:00
Matthias Clasen
6726db0afb Protect against pw->pw_gecos being NULL.
Thu Jan 22 20:50:55 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gutils.c (g_get_any_init): Protect against
	pw->pw_gecos being NULL.
2004-01-22 19:48:33 +00:00
Matthias Clasen
1107a9f41a Don't treat the Win32 user name like a gecos field, and when extracting a
Thu Jan 22 00:41:34 2004  Matthias Clasen  <maclas@gmx.de>

	* glib/gutils.c (g_get_any_init): Don't treat the Win32
	user name like a gecos field, and when extracting a real
	name from a gecos field, replace '&' by the capitalized
	user name (a traditional passwd feature).
	(#118973, reported by Soeren Boll Overgaard)
2004-01-21 23:41:46 +00:00
Tor Lillqvist
5d097b8591 Force shared library (DLL) only on Windows. (I don't think that is
2003-10-24  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Force shared library (DLL) only on Windows.
	(I don't think that is controversial?) Remove unnecessary
	AC_LIBTOOL_WIN32_DLL. Don't use -D_REENTRANT on
	Win32, it is not used by mingw or MSVC headers.

	* config.h.win32.in
	* glibconfig.h.win32.in: Match what configure produces.

	* glib/gconvert.c
	* glib/gutils.c: Mark a couple of functions and variables that
	aren't public as static.

	* glib/gnulib/g-gnulib.h: Undef HAVE_SNPRINTF before (re)defining
	it potentially differently, to silence compiler.

	* glib/glib.def: Add some missing entries.

	* tests/gobject/Makefile.am (LDADD): Reorder, put libgobject after
	libtestgobject.

	* tests/gobject/ifaceproperties.c (main): NULL-terminate arg list
	to g_object_set() and _get().
2003-10-24 03:41:22 +00:00
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
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
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
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
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
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
Owen Taylor
2c4878f63e HP-UX 10 xshares the same non-posix getpwuid_r signature as AIX. (#100756,
Sat Dec 14 21:24:04 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gutils.c (g_get_any_init): HP-UX 10 xshares the
        same non-posix getpwuid_r signature as AIX.
        (#100756, Kai Poitschke)
2002-12-15 02:35:28 +00:00
Owen Taylor
bbbd329ff5 Patch from Sven Neumann to make the include order consistent. (#71704)
Tue Dec  3 20:22:27 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/*.c: Patch from Sven Neumann to make the
        include order consistent. (#71704)
2002-12-04 01:27:44 +00:00
Matthias Clasen
97489993f7 Adjust to changed parameter names.
* glib/gtimer.c (g_time_val_add): Adjust to changed parameter names.

	* glib/gutils.c (g_get_application_name): Mark as 2.2. addition.

	* glib/gstrfuncs.c (g_ascii_strtoull): Mark as 2.0.7 addition.

	* glib/tmpl/main.sgml: Write something about GSourceDummyMarshal.

	* glib/tmpl/date.sgml:
	* glib/tmpl/string_utils.sgml: Remove redundant docs.

	* glib/glib-sections.txt: Add g_ascii_strtoull and
	g_get_application_name.
2002-11-28 23:11:58 +00:00
Matthias Clasen
803bae66a3 Move some docs inline, and add deprecation information. To see the list of
* glib/gutils.c:
	* glib/gtree.c:
	* glib/gstring.c:
	* glib/gstrfuncs.c:
	* glib/giochannel.c: Move some docs inline, and add deprecation
	information. To see the list of affected functions, grep for
	"Deprecated:".

	* glib/tmpl/strings.sgml:
	* glib/tmpl/string_utils.sgml:
	* glib/tmpl/misc_utils.sgml: Move some docs inline.
2002-11-28 20:46:29 +00:00
Matthias Clasen
bc54ea6edf Include a printf implementation supporting C99 snprintf and SUS
positional parameters:  (#79488)

	* glib/gstrfuncs.c:
	* glib/gspawn-win32.c:
	* glib/gscanner.c:
	* glib/gconvert.c:
	* glib/gbacktrace.c: Use _g_printf wrappers.

	* glib/gutils.c (g_vsnprintf): Simplify, since we can assume C99
	snprintf semantics now.

	* glib/gmessages.c (printf_string_upper_bound): No longer needed,
	since we can assume C99 snprintf semantics now.
	(g_logv): Simplify.

	* acinclude.m4 (AC_FUNC_PRINTF_UNIX98): New macro to check wether
	printf supports SUS positional parameters.

	* configure.in: New option --enable-included-printf to force
	compilation of trio; otherwise trio is compiled if the system
	printf misses either C99 snprintf semantics of SUS positional
	parameters.

	* glib/Makefile.am (SUBDIRS): Conditionally compile trio.
	(libglib_2_0_la_SOURCES): Add gprintf.c and gprintfint.h.
	(glibsubinclude_HEADERS): Add gprintf.h.

	* glib/gprintfint.h: New private wrapping either system printf
	or trio printf variants in _g_printf wrappers for use inside glib.

	* glib/gprintf.h: New public header declaring g_printf variants.
	* glib/gprintf.c: Corresponding implementations.

	* glib/trio/*: New directory, containing the trio-1.9 sources.

	* glib/tmpl/string_utils.sgml: Add note on including gprintf.h,
	move some docs inline.

	* glib/glib-sections.txt: Add g_printf, g_vprintf, g_fprintf,
	g_vfprintf, g_sprintf, g_vsprintf.
2002-11-21 00:35:15 +00:00
Owen Taylor
10520a9228 Patch from Havoc Pennington to add functions for setting and getting a
Thu Nov  7 19:32:26 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gutils.[ch] (g_set/get_application_name):
        Patch from Havoc Pennington to add functions for
        setting and getting a human readable application
        name.

        * configure.in: Up to version 2.1.3, since we'll
        need to depend on last addition for GTK+.
2002-11-08 00:51:25 +00:00
Owen Taylor
dac25522cd Updates.
Fri Mar  8 00:15:29 2002  Owen Taylor  <otaylor@redhat.com>

        * README.in: Updates.

        * README.in: Add warnings about current encoding problems with .po
        files and error logging functions.

        * configure.in: Check for bind_textdomain_codeset().

        * glib/gutils.c (_glib_gettext): Call
        bind_textdomain_codeset, if present.

        * INSTALL.in: Some updates.

        * AUTHORS: Updates.

        * Makefile.am (EXTRA_DIST): Remove TODO.xml from EXTRA_DIST.

        * docs/Makefile.am (EXTRA_DIST): Remove Changes-2.0.txt
        from EXTRA_DIST.
2002-03-08 05:48:03 +00:00
Owen Taylor
d39eabea71 Where we have getpwuid[_r], use that in preference to $HOME, and only
Tue Mar  5 00:38:54 2002  Owen Taylor  <otaylor@redhat.com>

        * glib/gutils.c (g_get_any_init): Where we have
        getpwuid[_r], use that in preference to $HOME, and
        only check $HOME as a fallback if getpwuid fails.
        (#2311)
2002-03-05 05:46:08 +00:00
Tor Lillqvist
bd82887a67 Use longer buffer for user name.
2001-12-31  Tor Lillqvist  <tml@iki.fi>

	* glib/gutils.c (g_get_any_init): (Win32) Use longer buffer for
	user name.
2001-12-31 10:12:22 +00:00
Matthias Clasen
a99e75d0a8 This fixes #60543:
* glib/gutils.c (g_snprintf, g_vsnprintf): Switch to C99-[v]snprintf().

        * tests/strfunc-test.c: Add some tests for g_snprintf().
2001-12-12 22:05:55 +00:00
Tor Lillqvist
0c9c94c6e1 Remove G_HARDCODED_PATH_WRAPPER, Owen didn't like it.
2001-10-23  Tor Lillqvist  <tml@iki.fi>

	* glib/gutils.h: Remove G_HARDCODED_PATH_WRAPPER, Owen didn't like
 	it.

	* glib/gutils.c: Instead, expand it on Win32 as
 	_glib_get_locale_dir(), and #define GLIB_LOCALE_DIR as a call to
 	it.
2001-10-23 09:26:54 +00:00
Tor Lillqvist
3984621bd3 Add macros G_WIN32_DLLMAIN_FOR_DLL_NAME and G_HARDCODED_PATH_WRAPPER.
2001-10-23  Tor Lillqvist  <tml@iki.fi>

	* glib/gutils.h: Add macros G_WIN32_DLLMAIN_FOR_DLL_NAME and
	G_HARDCODED_PATH_WRAPPER. These are used to avoid hardcoding path
	names into Windows DLLs.

	* glib/gutils.c: Use them for GLIB_LOCALEDIR.

	* glib/gwin32.c (get_package_directory_from_module): Plug a small
	memory leak. Minor code reordering.
	(g_win32_get_package_installation_subdirectory):  Allow empty subdir.
2001-10-22 23:19:19 +00:00
Sebastian Wilhelmi
144cb923dd Use another LOCK for g_prgname to avoid deadlocking. (#62606)
2001-10-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* glib/gutils.c (g_set_prgname, g_get_prgname): Use another LOCK
	for g_prgname to avoid deadlocking. (#62606)
2001-10-19 08:09:22 +00:00
Tor Lillqvist
7ede4e5066 New function (DLL entry point) to tuck away actual DLL name.
2001-10-03  Tor Lillqvist  <tml@iki.fi>

	* glib/gutils.c (Win32) (DllMain): New function (DLL entry point)
	to tuck away actual DLL name.
	(GLIB_LOCALE_DIR) Use actual DLL name, instead of assuming one
	naming convention for DLLs.

	* glib/glib.def: g_string_append_printf.
2001-10-03 20:19:13 +00:00
Tor Lillqvist
58f3fdd748 Accept also forward slashes. (But still don't accept them in the other
2001-09-20  Tor Lillqvist  <tml@iki.fi>

	* glib/gutils.c (g_path_is_absolute): (Win32:) Accept also forward
	slashes. (But still don't accept them in the other functions
	here. This is a thorny issue. Windows in fact does treat / like \
	on input (at least as local directory separators, dunno about
	server/share separators). But GLib only has the one
	G_DIR_SEPARATOR value, that apps should scan for, and use when
	building pathnames. To properly fix this would require totally
	abstracting pathnames, and don't having any path name scanning and
	building in applications at all. Fat chance.)
	(GLIB_LOCALE_DIR): Redefine only on "pure" Win32, not Cygwin. Use
	subdirectory "share\locale", as on Unix.

	* glib/gwin32.c: Don't need to define those langiage and
	sublanguage constants here, current mingw (w32api) headers have
	them.

	* glib/glib.def: Add a few missing entry points.

	* tests/testglib.c (main): Use same name for DLL as libtool does.
	Use G_DIR_SEPARATOR in g_path_get_basename tests.
2001-09-20 05:41:52 +00:00
Owen Taylor
7ee298c980 Handle failure of sysconf and pick a fixed size buffer. (Happens on Cygwin
Wed Sep 19 12:49:11 2001  Owen Taylor  <otaylor@redhat.com>

	* glib/gutils.c (g_get_any_init): Handle failure of
	sysconf and pick a fixed size buffer. (Happens on Cygwin
	#60242)
2001-09-19 16:52:20 +00:00
Tor Lillqvist
020b44f5ac Add variable for LT_CURRENT minus LT_AGE (the suffix used by libtool on
2001-09-17  Tor Lillqvist  <tml@iki.fi>

	* configure.in: Add variable for LT_CURRENT minus LT_AGE (the
	suffix used by libtool on Win32 for DLLs). Set variables for the
	compiled resource files on Windows. Handle the native Win32
	gthread stuff.

	* glib/Makefile.am
	* gmodule/Makefile.am
	* gobject/Makefile.am: (Win32) Add minor hacks to link in the object
	file produced from the resource file. Use the lt-compile-resource
	script from the build module. The non-hack way would be to teach
	libtool, autoconf and automake about .rc files (which are a kind
	of source code, after all, that gets compiled to object
	files). But then there would be problems for those who wouldn't have
	bleeding edge auto* and libtool.

	* glib/glib.def
	* gobject/gobject.def: Updates.

	* glib/glib.rc.in
	* gmodule/gmodule.rc.in
	* gobject/gobject.rc.in
	* gthread/gthread.rc.in: Update InternalName and OriginalFilename to
	match libtool's naming convention for DLLs.

	* glib/gutils.c: Ditto when constructing the DLL name in the
	definition for GLIB_LOCALE_DIR.

	* glib/makefile.mingw.in
	* gmodule/makefile.mingw.in
	* gobject/makefile.mingw.in
	* gthread/makefile.mingw.in: Update import library names.
2001-09-17 00:41:39 +00:00
Sven Neumann
d1d623b072 added new function g_nullify_pointer().
2001-08-06  Sven Neumann  <sven@gimp.org>

	* glib/gutils.[ch]: added new function g_nullify_pointer().

	* gobject/gobject.[ch]:
	added new functions g_object_[add|remove]_weak_pointer().
2001-08-06 20:55:11 +00:00
Owen Taylor
55688d6cc6 Patch from Darin Adler (#54166)
Sat Jun 30 12:49:26 2001  Owen Taylor  <otaylor@redhat.com>

        Patch from Darin Adler (#54166)

	* glib/gstrfuncs.[ch]: Add ascii-only, locale-insensitive
	g_ascii_to[lower/upper], g_ascii_str[down/up],
	g_ascii_is[upper/lower] and deprecate the locale-affected
	versions which break for UTF-8, etc. Make
	g_ascii_strup/strdown duplicating,
	not in-place for consistency with UTF-8 functions.

	* glib/gstring.[ch]: Add ascii-only, locale-insensitive
	g_string_ascii_[down/up], and deprecate the locale-affected
	versions which break for UTF-8, etc.

	* glib/gutils.c glib/gwin32.c test/testglib.c: Use
	the g_ascii_* functions where appropriate.
2001-06-30 16:54:33 +00:00
Owen Taylor
f5c28ce4ab Changes for 64-bit cleanliness, loosely based on patch from Mark Murnane.
Wed Jun 20 12:00:54 2001  Owen Taylor  <otaylor@redhat.com>

        Changes for 64-bit cleanliness, loosely based on patch
	from Mark Murnane.

	* gconvert.c (g_convert/g_convert_with_fallback): Remove
	workarounds for since-fixed GNU libc bugs. Minor
	doc fix.

	* gconvert.[ch]: Change gint to gsize/gssize as
	appropriate.

	* gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect
	computation of bytes_read / bytes_written.

	* gfileutils.[ch] (g_file_get_contents): Make length
	out parameter 'gsize *len'.

	* ghook.c (g_hook_compare_ids): Don't compare a
	and b as 'a - b'.

	* gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE,
	GSIZE_TO_POINTER.

	* gmain.c (g_timeout_prepare): Rewrite to avoid
	overflows. (Fixes bug when system clock skews
	backwards more than 24 days.)

	* gmarkup.[ch]: Make lengths passed to callbacks
	gsize, length for g_markup_parse-context_parse(),
	g_markup_escape_text() gssize.

	* gmessages.[ch] (g_printf_string_upper_bound): Change
	return value to gsize.

	* gmessages.c (printf_string_upper_bound): Remove
	a ridiculous use of 'inline' on a 300 line function.

	* gstring.[ch]: Represent size of string as a gsize,
	not gint. Make parameters to functions take gsize,
	or gssize where -1 is allowed.

	* gstring.c (g_string_erase): Make
	g_string_erase (string, pos, -1) a synonym for
	g_string_truncate for consistency with other G*
	APIs.

	* gstrfuncs.[ch]: Make all functions taking a string
	length, take a gsize, or gssize if -1 is allowed.
	(g_strstr_len, g_strrstr_len). Also fix some boundary
	conditions in g_str[r]str[_len].

	* gutf8.c tests/unicode-encoding.c: Make parameters that
	are byte lengths gsize, gssize as appropriate. Make
	character offsets, other counts, glong.

	* gasyncqueue.c gcompletion.c
          timeloop.c timeloop-basic.c gutils.c gspawn.c.
	Small 64 bit cleanliness fixups.

	* glist.c (g_list_sort2, g_list_sort_real): Fix functions
	that should have been static.

	* gdate.c (g_date_fill_parse_tokens): Fix extra
	declaration that was shadowing another.

	* tests/module-test.c: Include string.h

Mon Jun 18 15:43:29 2001  Owen Taylor  <otaylor@redhat.com>

	* gutf8.c (g_get_charset): Make argument
	G_CONST_RETURN char **.
2001-06-23 13:55:09 +00:00
Owen Taylor
ac0bbb7605 Avoid using stderr to be as robust as possible in out-of-memory.
Thu May 10 23:21:30 2001  Owen Taylor  <otaylor@redhat.com>

	* gmessages.c (g_log_write_prefix): Avoid using stderr
	to be as robust as possible in out-of-memory.

	* gmessages.c (g_log_default_handler): Remove some dead
	code.

	* gutils.c (g_parse_debug_string): Fix to avoid mallocs.
2001-05-14 14:53:59 +00:00
Sebastian Wilhelmi
d52e5cd5cf Remove definition of g_hash_table_freeze and g_hash_table_thaw. Instead
2001-04-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* ghash.c, ghash.h: Remove definition of g_hash_table_freeze and
	g_hash_table_thaw. Instead added G_DISABLE_DEPRECATED-guarded
	macros to ghash.h to go along the lines of the standard.

	* gscanner.c, gscanner.h: Dito for g_scanner_freeze_symbol_table
	and g_scanner_thaw_symbol_table.

	* gutils.c, gutils.h: Dito for g_dirname. g_basename is still
	defined in gutils.c, but declared ing gutils.h only
	G_DISABLE_DEPRECATED-guarded.
2001-04-19 13:33:31 +00:00
Owen Taylor
c8c685d305 Add missing static pointed out by Michael Meeks.
Wed Apr 18 17:35:38 2001  Owen Taylor  <otaylor@redhat.com>

	* gutils.c (_glib_gettext): Add missing static pointed
	out by Michael Meeks.
2001-04-18 21:37:25 +00:00
Havoc Pennington
f2faafacb9 make GDebugKeys argument const
2001-03-23  Havoc Pennington  <hp@redhat.com>

	* gutils.c (g_parse_debug_string): make GDebugKeys argument
	const
2001-04-16 15:04:17 +00:00
Tor Lillqvist
754d8ddad8 Cygwin support contributed by Stefan Ondrejicka <ondrej@idata.sk>.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

	Cygwin support contributed by Stefan Ondrejicka
	<ondrej@idata.sk>. Hopefully I got it all in while simultaneously
	adding support for auto*/libtool for mingw.

	* Makefile.am: Changes for auto* support on Cygwin and Win32. Do
	still distribute the hand-written makefiles and *.win32.in files,
	though. Use GIO, GSPAWN and PLATFORMDEP macros set by configure.
	Use -no-undefined. Pass -export-symbols glib.def to libtool.

	* configure.in: Define G_PLATFORM_WIN32 on both pure Win32 (mingw)
	and Cygwin. Add AC_CYGWIN, AC_EXEEXT and AC_LIBTOOL_WIN32_DLL
	calls for Cygwin and mingw support.  Check for %I64u guint64
	format (in MS C library). Set G_MODULE_IMPL on mingw and
	Cygwin. Use ac_object and ac_exeext.  Set GIO, GSPAWN, PLATFORMDEP
	and G_LIBS_EXTRA. Compile timeloop only on Unix. Define OS_WIN32
	automake conditional on Win32.

	* glib.h: Include gwin32.h also on Cygwin.

	* gfileutils.c (get_contents_posix): Use O_BINARY (defined as 0 on
	Unix) for Cygwin's sake.

	* gtimer.c (GETTIME): Reduce #ifdefs, use a macro GETTIME().

	* gconvert.c
	* gthread.c
	* gutf8.c
	* gutils.c: For code needed both on Cygwin and native Win32,
	test for G_PLATFORM_WIN32.

	* gmarkup.h: Use G_BEGIN_DECLS and G_END_DECLS.

	* gtypes.h: Refine GLIB_VAR definition. Also check for DLL_EXPORT
	in case compiling a static library on Win32 or Cygwin.

	* gwin32.c: No <direct.h> on Cygwin. No need for ftruncate() or
	dirent emulation on Cygwin.
	(get_package_directory_from_module) Convert return value from
	GetModuleFileName() to POSIX path on Cygwin.

	* tests/Makefile.am (progs_LDADD): Link with libglib, libgthread
	and libgmodule as appropriate. Use -no-undefined.

	* gbacktrace.c: Move #ifdefs around a bit on Win32.

	* gshell.c (unquote_string_inplace): Make static.

	* testglib.c: Make some vars static. Add Cygwin path tests.
2001-03-09 21:31:21 +00:00
Tor Lillqvist
d4960b2895 Use MAXPATHLEN, not PATH_MAX which isn't defined with MSVC.
2001-03-01  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_find_program_in_path): (Win32): Use MAXPATHLEN,
	not PATH_MAX which isn't defined with MSVC.
2001-03-01 10:59:55 +00:00
Tor Lillqvist
00988d0d76 Implement on Win32. Append the executable file name suffixes from PATHEXT
2001-03-01  Tor Lillqvist  <tml@iki.fi>

	* gutils.c(g_find_program_in_path): Implement on Win32. Append the
	executable file name suffixes from PATHEXT in turn while
	looking	for the program.
	(g_find_program_in_path): If the program we are looking for is a
	relative path in a subdirectory, don't do any path search.
2001-03-01 10:25:12 +00:00
Tor Lillqvist
b6ba941b50 Remove test for initial double backslash (UNC path), this will of course
2001-03-01  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_path_is_absolute): (Win32) Remove test for initial
	double backslash (UNC path), this will of course be matched by the
	test for an initial G_DIR_SEPARATOR right up front. Silly me.
	(g_find_program_in_path): Implement on Win32.
	(g_get_any_init): (Win32) Also look for the USERPROFILE env var
	indicating the home directory equivalent.

	* testglib.c (main): Test g_find_program_in_path() on Win32 by
	looking for more.com and regedit.exe.

	* glib.def: Add g_find_program_in_path.
2001-03-01 09:34:45 +00:00
Tor Lillqvist
cd89e4cca6 Match also UNC paths on Win32.
2001-02-21  Tor Lillqvist  <tml@iki.fi>

	* gutils.c (g_path_is_absolute): Match also UNC paths on Win32.

	* gthread.h: Include gtypes.h to be sure to get GLIB_VAR
	definition, remove definition from here.

	* gunicode.h: Remove duplicate GLIB_VAR definition from here, too.

	* gutils.c: (Win32) Use USERPROFILE as home dir if present. On
	Win2k, HOMEDRIVE and HOMEPATH aren't reliable.

	* Makefile.am (INCLUDES): Add -DGLIB_COMPILATION.

	* makefile.mingw.in: Remove install target, Windows isn't Unix.

	* testgdate.c
	* testgdateparser.c
	* testglib.c: Undefine GLIB_COMPILATION.

	* glib.def: Updates.

	* .cvsignore
	* */.cvsignore: Ignore also .obj, .dll, .lib and .exe files.
2001-02-21 12:41:28 +00:00
Havoc Pennington
1c391cc698 include string.h
2001-02-17  Havoc Pennington  <hp@pobox.com>

	* gthread.c: include string.h

        Applied patch from Soeren Sandmann:

	* testglib.c: const fixes

	* gwin32.h: format cleanups

	* gutils.c (g_atexit): constify a variable
	(g_find_program_in_path): constification
	(g_basename): G_CONST_RETURN
	(g_path_skip_root): G_CONST_RETURN
	(g_getenv): G_CONST_RETURN
	(g_get_user_name): G_CONST_RETURN
	(g_get_real_name): G_CONST_RETURN
	(g_get_home_dir): G_CONST_RETURN
	(g_get_tmp_dir): G_CONST_RETURN
	(g_get_prgname): G_CONST_RETURN
	(_glib_gettext): G_CONST_RETURN

	* gunicode.h: formatting cleanups

	* gstrfuncs.c (g_strerror): G_CONST_RETURN
	(g_strsignal): G_CONST_RETURN

	* gspawn.c (g_execute): const on variables

	* gmessages.c (printf_string_upper_bound): fix const on a variable

	* gmem.c (g_mem_chunk_new): make the "name" arg const
	(struct _GRealMemChunk): make the "name" field const

	* gfileutils.c (g_file_open_tmp): store const return in a const
	gchar* variable

	* gdataset.c (g_quark_to_string): G_CONST_RETURN

2001-02-17  Havoc Pennington  <hp@pobox.com>

        Applied patch from Soeren Sandmann:

	* gvaluetypes.c (g_value_get_string): G_CONST_RETURN

	* gtype.c (g_type_name): G_CONST_RETURN

	* gsignal.c (g_signal_name): G_CONST_RETURN

	* gobject-query.c (main): const fix

2001-02-17  Havoc Pennington  <hp@pobox.com>

        Applied patch from Soeren Sandmann:

	* gmodule.c (g_module_error): G_CONST_RETURN
	(g_module_name): G_CONST_RETURN
2001-02-17 23:30:48 +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
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
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
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
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