fix [#32572] Windows: False error on console when a new folder is created during a save or export operation

This commit is contained in:
Campbell Barton 2012-09-18 10:51:48 +00:00
parent e37ff1dd46
commit e048a555fc

@ -350,22 +350,28 @@ void BLI_dir_create_recursive(const char *dirname)
BLI_strncpy(tmp, dirname, sizeof(tmp));
lslash = BLI_last_slash(tmp);
if (lslash == tmp + strlen(tmp) - 1) {
*lslash = 0;
if (lslash && (*(lslash + 1) == '\0')) {
*lslash = '\0';
}
/* check special case "c:\foo", don't try create "c:", harmless but prints an error below */
if (isalpha(tmp[0]) && (tmp[1] == ':') && tmp[2] == '\0') return;
if (BLI_exists(tmp)) return;
lslash = BLI_last_slash(tmp);
if (lslash) {
/* Split about the last slash and recurse */
*lslash = 0;
BLI_dir_create_recursive(tmp);
}
if (dirname[0]) /* patch, this recursive loop tries to create a nameless directory */
if (umkdir(dirname) == -1)
if (dirname[0]) { /* patch, this recursive loop tries to create a nameless directory */
if (umkdir(dirname) == -1) {
printf("Unable to create directory %s\n", dirname);
}
}
}
int BLI_rename(const char *from, const char *to)