}
#endif /* WIN32 */
-static int
-virFileMakePathHelper(char *path, mode_t mode)
-{
- struct stat st;
- char *p;
-
- VIR_DEBUG("path=%s mode=0%o", path, mode);
-
- if (stat(path, &st) >= 0) {
- if (S_ISDIR(st.st_mode))
- return 0;
-
- errno = ENOTDIR;
- return -1;
- }
-
- if (errno != ENOENT)
- return -1;
-
- if ((p = strrchr(path, '/')) == NULL) {
- errno = EINVAL;
- return -1;
- }
-
- if (p != path) {
- *p = '\0';
-
- if (virFileMakePathHelper(path, mode) < 0)
- return -1;
-
- *p = '/';
- }
-
- if (g_mkdir(path, mode) < 0 && errno != EEXIST)
- return -1;
-
- return 0;
-}
-
-/**
- * Creates the given directory with mode 0777 if it's not already existing.
- *
- * Returns 0 on success, or -1 if an error occurred (in which case, errno
- * is set appropriately).
- */
-int
-virFileMakePath(const char *path)
-{
- return g_mkdir_with_parents(path, 0777);
-}
-
-int
-virFileMakePathWithMode(const char *path,
- mode_t mode)
-{
- g_autofree char *tmp = NULL;
-
- tmp = g_strdup(path);
-
- return virFileMakePathHelper(tmp, mode);
-}
-
-
int
virFileMakeParentPath(const char *path)
{
}
*p = '\0';
- return virFileMakePathHelper(tmp, 0777);
+ return g_mkdir_with_parents(tmp, 0777);
}
void virDirClose(DIR *dirp);
G_DEFINE_AUTOPTR_CLEANUP_FUNC(DIR, virDirClose);
-int virFileMakePath(const char *path) G_GNUC_WARN_UNUSED_RESULT;
-int virFileMakePathWithMode(const char *path,
- mode_t mode) G_GNUC_WARN_UNUSED_RESULT;
int virFileMakeParentPath(const char *path) G_GNUC_WARN_UNUSED_RESULT;
char *virFileBuildPath(const char *dir,