Enabled g_mem_set_vtable through the configure option --with-overridable-allocators...
[mono.git] / eglib / src / gmisc-win32.c
index 07dcf39aec86c58ffbbe9cccb19b5291d30cc576..625fd15a84fa1b81026b732836f9610d10c588ad 100644 (file)
@@ -87,10 +87,12 @@ g_unsetenv(const gchar *variable)
 gchar*
 g_win32_getlocale(void)
 {
-       /* FIXME: Use GetThreadLocale
-        * and convert LCID to standard 
-        * string form, "en_US" */
-       return strdup ("en_US");
+       LCID lcid = GetThreadLocale();
+       gchar buf[19];
+       gint ccBuf = GetLocaleInfo(lcid, LOCALE_SISO639LANGNAME, buf, 9);
+       buf[ccBuf - 1] = '-';
+       ccBuf += GetLocaleInfo(lcid, LOCALE_SISO3166CTRYNAME, buf + ccBuf, 9);
+       return g_strdup (buf);
 }
 
 gboolean
@@ -126,6 +128,9 @@ g_get_home_dir (void)
                }
        }
 
+       g_free (drive);
+       g_free (path);
+
        return home_dir;
 }