Do not mangle \\... paths
This commit is contained in:
parent
234309f31a
commit
193ba1adc8
@ -999,6 +999,7 @@ normalize_path_win32 (G_GNUC_UNUSED MooFileSystem *fs,
|
|||||||
{
|
{
|
||||||
char *drive, *path, *normpath;
|
char *drive, *path, *normpath;
|
||||||
guint slashes;
|
guint slashes;
|
||||||
|
gboolean drive_slashes = FALSE;
|
||||||
|
|
||||||
g_return_val_if_fail (fullpath != NULL, NULL);
|
g_return_val_if_fail (fullpath != NULL, NULL);
|
||||||
|
|
||||||
@ -1020,6 +1021,7 @@ normalize_path_win32 (G_GNUC_UNUSED MooFileSystem *fs,
|
|||||||
drive = g_strndup (path, slashes);
|
drive = g_strndup (path, slashes);
|
||||||
path = g_strdup (tmp + slashes);
|
path = g_strdup (tmp + slashes);
|
||||||
g_free (tmp);
|
g_free (tmp);
|
||||||
|
drive_slashes = TRUE;
|
||||||
}
|
}
|
||||||
// else if (path[0] == '\\')
|
// else if (path[0] == '\\')
|
||||||
// {
|
// {
|
||||||
@ -1046,7 +1048,7 @@ normalize_path_win32 (G_GNUC_UNUSED MooFileSystem *fs,
|
|||||||
{
|
{
|
||||||
char *tmp = normpath;
|
char *tmp = normpath;
|
||||||
|
|
||||||
if (normpath[0] == '\\')
|
if (normpath[0] == '\\' || drive_slashes)
|
||||||
normpath = g_strdup_printf ("%s%s", drive, normpath);
|
normpath = g_strdup_printf ("%s%s", drive, normpath);
|
||||||
else
|
else
|
||||||
normpath = g_strdup_printf ("%s\\%s", drive, normpath);
|
normpath = g_strdup_printf ("%s\\%s", drive, normpath);
|
||||||
|
@ -639,6 +639,7 @@ normalize_full_path (const char *fullpath,
|
|||||||
char *drive, *path, *normpath;
|
char *drive, *path, *normpath;
|
||||||
guint slashes;
|
guint slashes;
|
||||||
guint len;
|
guint len;
|
||||||
|
gboolean drive_slashes = FALSE;
|
||||||
|
|
||||||
g_return_val_if_fail (fullpath != NULL, NULL);
|
g_return_val_if_fail (fullpath != NULL, NULL);
|
||||||
|
|
||||||
@ -660,6 +661,7 @@ normalize_full_path (const char *fullpath,
|
|||||||
drive = g_strndup (path, slashes);
|
drive = g_strndup (path, slashes);
|
||||||
path = g_strdup (tmp + slashes);
|
path = g_strdup (tmp + slashes);
|
||||||
g_free (tmp);
|
g_free (tmp);
|
||||||
|
drive_slashes = TRUE;
|
||||||
}
|
}
|
||||||
#if 0
|
#if 0
|
||||||
// else if (path[0] == '\\')
|
// else if (path[0] == '\\')
|
||||||
@ -688,7 +690,7 @@ normalize_full_path (const char *fullpath,
|
|||||||
{
|
{
|
||||||
char *tmp = normpath;
|
char *tmp = normpath;
|
||||||
|
|
||||||
if (normpath[0] == '\\')
|
if (normpath[0] == '\\' || drive_slashes)
|
||||||
normpath = g_strdup_printf ("%s%s", drive, normpath);
|
normpath = g_strdup_printf ("%s%s", drive, normpath);
|
||||||
else
|
else
|
||||||
normpath = g_strdup_printf ("%s\\%s", drive, normpath);
|
normpath = g_strdup_printf ("%s\\%s", drive, normpath);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user