gfileutils: Ignore ENOENT from all except the last element

Ignore ENOENT errors up until the last element while trying to create each
of the path elements in case a restricted file-system is being used where
path elements can be hidden or non-accessible.
This commit is contained in:
Robert Nagy 2019-05-13 18:38:22 +02:00 committed by Philip Withnall
parent b482a5c1a9
commit 6f55306e04

View File

@ -248,9 +248,12 @@ g_mkdir_with_parents (const gchar *pathname,
if (g_mkdir (fn, mode) == -1 && errno != EEXIST)
{
int errno_save = errno;
g_free (fn);
errno = errno_save;
return -1;
if (p && errno != ENOENT)
{
g_free (fn);
errno = errno_save;
return -1;
}
}
}
else if (!g_file_test (fn, G_FILE_TEST_IS_DIR))