summaryrefslogtreecommitdiff
path: root/glib/gutils.c
diff options
context:
space:
mode:
Diffstat (limited to 'glib/gutils.c')
-rw-r--r--glib/gutils.c42
1 files changed, 22 insertions, 20 deletions
diff --git a/glib/gutils.c b/glib/gutils.c
index 50e7c361c..321a1311f 100644
--- a/glib/gutils.c
+++ b/glib/gutils.c
@@ -411,31 +411,33 @@ g_get_any_init (void)
#endif /* NATIVE_WIN32 */
}
-#ifdef NATIVE_WIN32
- /* The official way to specify a home directory on NT is
- * the HOMEDRIVE and HOMEPATH environment variables.
- *
- * This is inside #ifdef NATIVE_WIN32 because with the cygwin dll,
- * HOME should be a POSIX style pathname.
- */
+ if (!g_home_dir)
+ g_home_dir = g_strdup (g_getenv ("HOME"));
- if (getenv ("HOMEDRIVE") != NULL && getenv ("HOMEPATH") != NULL)
+#ifdef NATIVE_WIN32
+ if (!g_home_dir)
{
- gchar *homedrive, *homepath;
-
- homedrive = g_strdup (g_getenv ("HOMEDRIVE"));
- homepath = g_strdup (g_getenv ("HOMEPATH"));
-
- g_home_dir = g_strconcat (homedrive, homepath, NULL);
- g_free (homedrive);
- g_free (homepath);
+ /* The official way to specify a home directory on NT is
+ * the HOMEDRIVE and HOMEPATH environment variables.
+ *
+ * This is inside #ifdef NATIVE_WIN32 because with the cygwin dll,
+ * HOME should be a POSIX style pathname.
+ */
+
+ if (getenv ("HOMEDRIVE") != NULL && getenv ("HOMEPATH") != NULL)
+ {
+ gchar *homedrive, *homepath;
+
+ homedrive = g_strdup (g_getenv ("HOMEDRIVE"));
+ homepath = g_strdup (g_getenv ("HOMEPATH"));
+
+ g_home_dir = g_strconcat (homedrive, homepath, NULL);
+ g_free (homedrive);
+ g_free (homepath);
+ }
}
#endif /* !NATIVE_WIN32 */
- if (!g_home_dir)
- g_home_dir = g_strdup (g_getenv ("HOME"));
-
-
#ifdef HAVE_PWD_H
{
struct passwd *pw = NULL;