1573 return retval;
1574 }
1575
1576 static char *
1577 get_windows_directory_root (void)
1578 {
1579 wchar_t wwindowsdir[MAX_PATH];
1580
1581 if (GetWindowsDirectoryW (wwindowsdir, G_N_ELEMENTS (wwindowsdir)))
1582 {
1583 /* Usually X:\Windows, but in terminal server environments
1584 * might be an UNC path, AFAIK.
1585 */
1586 char *windowsdir = g_utf16_to_utf8 (wwindowsdir, -1, NULL, NULL, NULL);
1587 char *p;
1588
1589 if (windowsdir == NULL)
1590 return g_strdup ("C:\\");
1591
1592 p = (char *) g_path_skip_root (windowsdir);
1593 if (G_IS_DIR_SEPARATOR (p[-1]) && p[-2] != ':')
1594 p--;
1595 *p = '\0';
1596 return windowsdir;
1597 }
1598 else
1599 return g_strdup ("C:\\");
1600 }
1601
1602 #endif
1603
1604 /* HOLDS: g_utils_global_lock */
1605 static void
1606 g_get_any_init_do (void)
1607 {
1608 gchar hostname[100];
1609
1610 g_tmp_dir = g_strdup (g_getenv ("TMPDIR"));
1611 if (g_tmp_dir == NULL || *g_tmp_dir == '\0')
1612 g_tmp_dir = g_strdup (g_getenv ("TMP"));
|
1573 return retval;
1574 }
1575
1576 static char *
1577 get_windows_directory_root (void)
1578 {
1579 wchar_t wwindowsdir[MAX_PATH];
1580
1581 if (GetWindowsDirectoryW (wwindowsdir, G_N_ELEMENTS (wwindowsdir)))
1582 {
1583 /* Usually X:\Windows, but in terminal server environments
1584 * might be an UNC path, AFAIK.
1585 */
1586 char *windowsdir = g_utf16_to_utf8 (wwindowsdir, -1, NULL, NULL, NULL);
1587 char *p;
1588
1589 if (windowsdir == NULL)
1590 return g_strdup ("C:\\");
1591
1592 p = (char *) g_path_skip_root (windowsdir);
1593 #ifdef GSTREAMER_LITE
1594 if (p == NULL)
1595 return g_strdup ("C:\\");
1596 #endif // GSTREAMER_LITE
1597 if (G_IS_DIR_SEPARATOR (p[-1]) && p[-2] != ':')
1598 p--;
1599 *p = '\0';
1600 return windowsdir;
1601 }
1602 else
1603 return g_strdup ("C:\\");
1604 }
1605
1606 #endif
1607
1608 /* HOLDS: g_utils_global_lock */
1609 static void
1610 g_get_any_init_do (void)
1611 {
1612 gchar hostname[100];
1613
1614 g_tmp_dir = g_strdup (g_getenv ("TMPDIR"));
1615 if (g_tmp_dir == NULL || *g_tmp_dir == '\0')
1616 g_tmp_dir = g_strdup (g_getenv ("TMP"));
|