@@ -4843,32 +4843,36 @@ void av_url_split(char *proto, int proto_size,
}
}
+#if HAVE_DOS_PATHS
+#define SEPARATOR '\\'
+#else
+#define SEPARATOR '/'
+#endif
+
int ff_mkdir_p(const char *path)
{
int ret = 0;
char *temp = av_strdup(path);
char *pos = temp;
- char tmp_ch = '\0';
if (!path || !temp) {
return -1;
}
- if (*temp == '/' || *temp == '\\')
+ if (*temp == SEPARATOR)
pos++;
- else if (*temp == '.' && (*(temp+1) == '/' || *(temp+1) == '\\'))
+ else if (*temp == '.' && *(temp+1) == SEPARATOR)
pos += 2;
for ( ; *pos != '\0'; ++pos) {
- if (*pos == '/' || *pos == '\\') {
- tmp_ch = *pos;
+ if (*pos == SEPARATOR) {
*pos = '\0';
ret = mkdir(temp, 0755);
- *pos = tmp_ch;
+ *pos = SEPARATOR;
}
}
- if ((*(pos - 1) != '/') || (*(pos - 1) != '\\')) {
+ if (*(pos - 1) != SEPARATOR) {
ret = mkdir(temp, 0755);
}