New function. Returns the Windows version code like GetVersion(), except
authorTor Lillqvist <tml@iki.fi>
Wed, 25 Aug 2004 15:32:50 +0000 (15:32 +0000)
committerTor Lillqvist <tml@src.gnome.org>
Wed, 25 Aug 2004 15:32:50 +0000 (15:32 +0000)
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.

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-12
ChangeLog.pre-2-6
ChangeLog.pre-2-8
glib/gwin32.c
glib/gwin32.h

index 4e66a7d..cdbc98a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+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  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Post-release version bump.
index 4e66a7d..cdbc98a 100644 (file)
@@ -1,3 +1,14 @@
+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  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Post-release version bump.
index 4e66a7d..cdbc98a 100644 (file)
@@ -1,3 +1,14 @@
+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  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Post-release version bump.
index 4e66a7d..cdbc98a 100644 (file)
@@ -1,3 +1,14 @@
+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  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Post-release version bump.
index 4e66a7d..cdbc98a 100644 (file)
@@ -1,3 +1,14 @@
+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  Matthias Clasen  <mclasen@redhat.com>
 
        * configure.in: Post-release version bump.
index 5d0bb62..b8c69df 100644 (file)
@@ -1297,3 +1297,20 @@ g_win32_get_package_installation_subdirectory (gchar *package,
 
   return dirname;
 }
+
+guint
+g_win32_get_windows_version (void)
+{
+  static gboolean beenhere = FALSE;
+  static guint version;
+
+  if (!beenhere)
+    {
+      if (getenv ("G_WIN32_PRETEND_WIN9X"))
+       version = 0x80000004;
+      else
+       version = GetVersion ();
+      beenhere = TRUE;
+    }
+  return version;
+}
index 5aca580..0bc7320 100644 (file)
@@ -93,6 +93,11 @@ gchar*          g_win32_get_package_installation_subdirectory (gchar *package,
                                                               gchar *dll_name,
                                                               gchar *subdir);
 
+guint          g_win32_get_windows_version (void);
+
+#define G_WIN32_IS_NT_BASED() (g_win32_get_windows_version () < 0x80000000)
+#define G_WIN32_HAVE_WIDECHAR_API() (G_WIN32_IS_NT_BASED ())
+
 G_END_DECLS
 
 #endif  /* G_PLATFORM_WIN32 */