16 Commits

Author SHA1 Message Date
Tor Lillqvist
da422c0060 Remove support for Windows 9x/ME, as will be done also in Pango and GTK+.
2006-08-29  Tor Lillqvist  <tml@novell.com>

	Remove support for Windows 9x/ME, as will be done also in Pango
	and GTK+. GTK+ hasn't worked on Win9x since 2.6 or 2.8 anyway, so
	it's pretty pointless to keep the Win9x code in here either. If
	somebody is interested, the code can always be found in older GLib
	versions, and in CVS.

	* glib/gdir.c
	* glib/gfileutils.c
	* glib/gspawn-win32-helper.c
	* glib/gspawn-win32.c
	* glib/gstdio.c
	* glib/gutils.c
	* glib/gwin32.c
	* glib/gwin32.h: Remove the G_WIN32_IS_NT_BASED() and
	G_WIN32_HAVE_WIDECHAR_API() tests and their false (Win9x)
	branches, and any variables or static functions used only by the
	Win9x branches.

	* glib/gwin32.c (g_win32_windows_version_init): Call g_error() if
	run on Win9x.
2006-08-29 22:45:00 +00:00
Tor Lillqvist
dc11b4370f Don't call g_set_error() unless the GError pointer is non-NULL. This
2005-04-27  Tor Lillqvist  <tml@novell.com>

	* glib/gconvert.c (open_converter, g_convert_with_iconv): Don't
	call g_set_error() unless the GError pointer is non-NULL. This
	avoids infinite recursion problems in certain rare situations on
	Windows, when g_locale_from_utf8() is called from
	_glib_get_locale_dir() after the change below. It's the
	_glib_gettext() calls to translate error messages that are
	parameters to g_set_error() that cause the recursion, not
	g_set_error() itself.

	* glib/gwin32.c (g_win32_locale_filename_from_utf8): New
	function. Converts a filename to the system codepage, and if a
	straight conversion isn't possible (because the filename contains
	characters not in the system codepage), try looking up the
	filename (which should refer to an existing file for this to
	succeed) with short (8.3) pathname components.

	* glib/gutils.c (_glib_get_locale_dir): No need to cache the
	result, this function is normally called only once. Return the
	path to the locale directory in system codepage, not UTF-8. The
	path is passed to bindtextdomain(), which doesn't use UTF-8 file
	names. Use g_win32_locale_filename_from_utf8(). (#301772)

	Don't do run-time lookup of message catalog directory on
	Cygwin. Cygwin is supposed to look and feel like Unix, and on Unix
	we use paths fixed at configure time.
2005-04-27 09:50:09 +00:00
Tor Lillqvist
e7121f5c35 Remove misleading comment, too. 2005-02-02 23:54:01 +00:00
Tor Lillqvist
67221dc03b Remove unnecessary MSVC-only typedef for pid_t. GLib does not pretend to
2005-02-02  Tor Lillqvist  <tml@novell.com>

	* glib/gwin32.h: Remove unnecessary MSVC-only typedef for
	pid_t. GLib does not pretend to be a POSIX emulation library.
2005-02-02 23:52:31 +00:00
Tor Lillqvist
f8cd1aea9e glib/glib.symbols Implement DLL ABI stability also for
2004-12-05  Tor Lillqvist  <tml@iki.fi>

	* glib/glib.symbols
	* glib/gwin32.[hc]: Implement DLL ABI stability also for
	g_win32_get_package_installation_directory()) and
	g_win32_get_package_installation_subdirectory().
2004-12-05 09:11:42 +00:00
Tor Lillqvist
1852bc0da7 Convert message to UTF-8. Technically this breaks API, but the actual use
2004-09-15  Tor Lillqvist  <tml@iki.fi>

	* glib/gwin32.c (g_win32_error_message): Convert message to
	UTF-8. Technically this breaks API, but the actual use cases in
	gdk/win32 have assumed it is UTF-8 anyway. Fix
	documentation. (#152618, Kazuki Iwamoto)

	* glib/gwin32.h: Don't define ftruncate as a macro. Was never a
	good idea, and it clashes with newest mingw headers, which have a
	ftruncate implementation as an inline function. Thanks to Dominik R.

	* glib/gwin32.c (g_win32_ftruncate): Simplify implementation, just
	call _chsize() in the C library.
2004-09-15 19:12:19 +00:00
Tor Lillqvist
1de0e063fe New function. Returns the Windows version code like GetVersion(), except
2004-08-25  Tor Lillqvist  <tml@iki.fi>

	* glib/gwin32.c (g_win32_get_windows_version): New
	function. Returns the Windows version code like GetVersion(),
	except that one can pretend to be running on Win9x by setting the
	G_WIN32_PRETEND_WIN9X environment variable. This is mainly for
	debugging purposed.

	* glib/gwin32.h: Declare it. Define macros G_WIN32_WINDOWS_IS_NT_BASED
	and G_WIN32_HAVE_WIDECHAR_API to test Windows features at run-time.
2004-08-25 15:32:50 +00:00
Tor Lillqvist
54cadf4528 Correct the comment telling what headers have the declarations of some
2003-01-02  Tor Lillqvist  <tml@iki.fi>

	* glib/gwin32.h: Correct the comment telling what headers have
	the declarations of some POSIXish functions.

	* glib/giowin32.c (g_io_win32_fd_get_flags_internal): Fix braino:
	The checks for readability/writeability were backwards.
2003-01-02 00:30:22 +00:00
Tor Lillqvist
e4e2fc5134 glib/gwin32.c glib/gwin32.h Remove own implementation of dirent functions.
2001-09-30  Tor Lillqvist  <tml@iki.fi>

	* glib/gwin32.c
	* glib/gwin32.h
	* glib/glib.def: Remove own implementation of dirent
	functions. Instead, gcc (mingw) users should go ahead and use the
	<dirent.h> included with the mingw gcc, and the dirent functions
	included in libmingw32, while MSVC users can use the same (public
	domain) code, extracted from mingw-runtime sources and placed in
	build/win32/dirent.[ch].

	* glib/gwin32.c (get_package_directory_from_module,
	g_win32_get_package_installation_directory): Use static lock to
	protect static hash table.
2001-09-29 23:19:24 +00:00
Owen Taylor
2fd6b001fb Move glib library into a subdirectory, make all GLib include files include
Tue Jun 26 11:43:46 2001  Owen Taylor  <otaylor@redhat.com>

	* configure.in Makefile.am *.[ch] glib/*.[ch] glib/Makefile.am:
	Move glib library into a subdirectory, make all GLib include
	files include as <glib/glist.h>

	* tests/testglib.c tests/testgdate.c tests/testgdateparser.c
	  tests/timeloop.c tests/timeloop-basic.c: Move all tests into
	the tests/ subdirectory.
2001-06-26 16:01:21 +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
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
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
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
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
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