+2001-01-05 Tor Lillqvist <tml@iki.fi>
+
+ * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+ forward slashes in the template.
+
+ * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+ part of UNC paths. On all platforms, skip several initial
+ slashes. Add a few comments.
+ (g_get_any_init): On Win32, in case HOME is Unix-style with
+ (forward) slashes (some other applications apparently set it up
+ this way, convert to backslashed form.
+
+ * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+ although using configure for mingw surely doesn't work yet.
+
+ * glib.def: Update.
+
2001-01-02 Havoc Pennington <hp@redhat.com>
* configure.in: remove glib-config-2.0
+2001-01-05 Tor Lillqvist <tml@iki.fi>
+
+ * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+ forward slashes in the template.
+
+ * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+ part of UNC paths. On all platforms, skip several initial
+ slashes. Add a few comments.
+ (g_get_any_init): On Win32, in case HOME is Unix-style with
+ (forward) slashes (some other applications apparently set it up
+ this way, convert to backslashed form.
+
+ * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+ although using configure for mingw surely doesn't work yet.
+
+ * glib.def: Update.
+
2001-01-02 Havoc Pennington <hp@redhat.com>
* configure.in: remove glib-config-2.0
+2001-01-05 Tor Lillqvist <tml@iki.fi>
+
+ * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+ forward slashes in the template.
+
+ * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+ part of UNC paths. On all platforms, skip several initial
+ slashes. Add a few comments.
+ (g_get_any_init): On Win32, in case HOME is Unix-style with
+ (forward) slashes (some other applications apparently set it up
+ this way, convert to backslashed form.
+
+ * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+ although using configure for mingw surely doesn't work yet.
+
+ * glib.def: Update.
+
2001-01-02 Havoc Pennington <hp@redhat.com>
* configure.in: remove glib-config-2.0
+2001-01-05 Tor Lillqvist <tml@iki.fi>
+
+ * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+ forward slashes in the template.
+
+ * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+ part of UNC paths. On all platforms, skip several initial
+ slashes. Add a few comments.
+ (g_get_any_init): On Win32, in case HOME is Unix-style with
+ (forward) slashes (some other applications apparently set it up
+ this way, convert to backslashed form.
+
+ * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+ although using configure for mingw surely doesn't work yet.
+
+ * glib.def: Update.
+
2001-01-02 Havoc Pennington <hp@redhat.com>
* configure.in: remove glib-config-2.0
+2001-01-05 Tor Lillqvist <tml@iki.fi>
+
+ * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+ forward slashes in the template.
+
+ * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+ part of UNC paths. On all platforms, skip several initial
+ slashes. Add a few comments.
+ (g_get_any_init): On Win32, in case HOME is Unix-style with
+ (forward) slashes (some other applications apparently set it up
+ this way, convert to backslashed form.
+
+ * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+ although using configure for mingw surely doesn't work yet.
+
+ * glib.def: Update.
+
2001-01-02 Havoc Pennington <hp@redhat.com>
* configure.in: remove glib-config-2.0
+2001-01-05 Tor Lillqvist <tml@iki.fi>
+
+ * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+ forward slashes in the template.
+
+ * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+ part of UNC paths. On all platforms, skip several initial
+ slashes. Add a few comments.
+ (g_get_any_init): On Win32, in case HOME is Unix-style with
+ (forward) slashes (some other applications apparently set it up
+ this way, convert to backslashed form.
+
+ * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+ although using configure for mingw surely doesn't work yet.
+
+ * glib.def: Update.
+
2001-01-02 Havoc Pennington <hp@redhat.com>
* configure.in: remove glib-config-2.0
+2001-01-05 Tor Lillqvist <tml@iki.fi>
+
+ * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+ forward slashes in the template.
+
+ * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+ part of UNC paths. On all platforms, skip several initial
+ slashes. Add a few comments.
+ (g_get_any_init): On Win32, in case HOME is Unix-style with
+ (forward) slashes (some other applications apparently set it up
+ this way, convert to backslashed form.
+
+ * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+ although using configure for mingw surely doesn't work yet.
+
+ * glib.def: Update.
+
2001-01-02 Havoc Pennington <hp@redhat.com>
* configure.in: remove glib-config-2.0
+2001-01-05 Tor Lillqvist <tml@iki.fi>
+
+ * gfileutils.c (g_file_open_tmp): (Win32:) Look also for (illegal)
+ forward slashes in the template.
+
+ * gutils.c (g_path_skip_root): On Win32, skip the \\server\share
+ part of UNC paths. On all platforms, skip several initial
+ slashes. Add a few comments.
+ (g_get_any_init): On Win32, in case HOME is Unix-style with
+ (forward) slashes (some other applications apparently set it up
+ this way, convert to backslashed form.
+
+ * configure.in (glib_os): Remove stray 'v'. Add case for mingw,
+ although using configure for mingw surely doesn't work yet.
+
+ * glib.def: Update.
+
2001-01-02 Havoc Pennington <hp@redhat.com>
* configure.in: remove glib-config-2.0
*-*-cygwin*)
glib_os="#define G_OS_UNIX
#define G_WITH_CYGWIN"
-v ;;
+ ;;
+ *-*-mingw*)
+ glib_os="#define G_OS_WIN32"
+ ;;
*)
glib_os="#define G_OS_UNIX"
;;
if (tmpl == NULL)
tmpl = ".XXXXXX";
- if (strchr (tmpl, G_DIR_SEPARATOR))
+ if (strchr (tmpl, G_DIR_SEPARATOR)
+#ifdef G_OS_WIN32
+ || strchr (tmpl, '/')
+#endif
+ )
{
g_set_error (error,
G_FILE_ERROR,
g_main_context_query
g_main_context_remove_poll
g_main_context_set_poll_func
- g_main_loop_destroy
g_main_loop_is_running
g_main_loop_new
g_main_loop_quit
+ g_main_loop_ref
g_main_loop_run
+ g_main_loop_unref
g_malloc
g_malloc0
g_markup_error_quark
if (tmpl == NULL)
tmpl = ".XXXXXX";
- if (strchr (tmpl, G_DIR_SEPARATOR))
+ if (strchr (tmpl, G_DIR_SEPARATOR)
+#ifdef G_OS_WIN32
+ || strchr (tmpl, '/')
+#endif
+ )
{
g_set_error (error,
G_FILE_ERROR,
g_main_context_query
g_main_context_remove_poll
g_main_context_set_poll_func
- g_main_loop_destroy
g_main_loop_is_running
g_main_loop_new
g_main_loop_quit
+ g_main_loop_ref
g_main_loop_run
+ g_main_loop_unref
g_malloc
g_malloc0
g_markup_error_quark
{
g_return_val_if_fail (file_name != NULL, NULL);
+#ifdef G_OS_WIN32
+ /* Skip \\server\share\ */
+ if (file_name[0] == G_DIR_SEPARATOR &&
+ file_name[1] == G_DIR_SEPARATOR &&
+ file_name[2] &&
+ strchr (file_name + 2, G_DIR_SEPARATOR) > file_name + 2)
+ return strchr (file_name + 2, G_DIR_SEPARATOR) + 1;
+#endif
+
+ /* Skip initial slashes */
if (file_name[0] == G_DIR_SEPARATOR)
- return file_name + 1;
+ {
+ while (file_name[0] == G_DIR_SEPARATOR)
+ file_name++;
+ return file_name;
+ }
#ifdef G_OS_WIN32
+ /* Skip X:\ */
if (isalpha (file_name[0]) && file_name[1] == ':' && file_name[2] == G_DIR_SEPARATOR)
return file_name + 3;
#endif
g_home_dir = g_strdup (g_getenv ("HOME"));
#ifdef G_OS_WIN32
- if (!g_home_dir)
+ /* In case HOME is Unix-style (it happens), convert it to
+ * Windows style.
+ */
+ if (g_home_dir)
+ {
+ gchar *p;
+ while ((p = strchr (g_home_dir, '/')) != NULL)
+ *p = '\\';
+ }
+ else
{
/* The official way to specify a home directory on NT is
- * the HOMEDRIVE and HOMEPATH environment variables.
- *
- * This is inside #ifdef G_OS_WIN32 because with the cygwin dll,
- * HOME should be a POSIX style pathname.
+ * the HOMEDRIVE and HOMEPATH environment variables. At least
+ * it was at some time.
*/
-
if (getenv ("HOMEDRIVE") != NULL && getenv ("HOMEPATH") != NULL)
{
gchar *homedrive, *homepath;
{
g_return_val_if_fail (file_name != NULL, NULL);
+#ifdef G_OS_WIN32
+ /* Skip \\server\share\ */
+ if (file_name[0] == G_DIR_SEPARATOR &&
+ file_name[1] == G_DIR_SEPARATOR &&
+ file_name[2] &&
+ strchr (file_name + 2, G_DIR_SEPARATOR) > file_name + 2)
+ return strchr (file_name + 2, G_DIR_SEPARATOR) + 1;
+#endif
+
+ /* Skip initial slashes */
if (file_name[0] == G_DIR_SEPARATOR)
- return file_name + 1;
+ {
+ while (file_name[0] == G_DIR_SEPARATOR)
+ file_name++;
+ return file_name;
+ }
#ifdef G_OS_WIN32
+ /* Skip X:\ */
if (isalpha (file_name[0]) && file_name[1] == ':' && file_name[2] == G_DIR_SEPARATOR)
return file_name + 3;
#endif
g_home_dir = g_strdup (g_getenv ("HOME"));
#ifdef G_OS_WIN32
- if (!g_home_dir)
+ /* In case HOME is Unix-style (it happens), convert it to
+ * Windows style.
+ */
+ if (g_home_dir)
+ {
+ gchar *p;
+ while ((p = strchr (g_home_dir, '/')) != NULL)
+ *p = '\\';
+ }
+ else
{
/* The official way to specify a home directory on NT is
- * the HOMEDRIVE and HOMEPATH environment variables.
- *
- * This is inside #ifdef G_OS_WIN32 because with the cygwin dll,
- * HOME should be a POSIX style pathname.
+ * the HOMEDRIVE and HOMEPATH environment variables. At least
+ * it was at some time.
*/
-
if (getenv ("HOMEDRIVE") != NULL && getenv ("HOMEPATH") != NULL)
{
gchar *homedrive, *homepath;