From: Limin Wang <lance.lmw...@gmail.com> Signed-off-by: Limin Wang <lance.lmw...@gmail.com> --- libavformat/utils.c | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-)
diff --git a/libavformat/utils.c b/libavformat/utils.c index 8196442..e634f15 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -4843,35 +4843,32 @@ 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 (!av_strncasecmp(temp, "/", 1) || !av_strncasecmp(temp, "\\", 1)) { - pos++; - } else if (!av_strncasecmp(temp, "./", 2) || !av_strncasecmp(temp, ".\\", 2)) { - pos += 2; - } - - for ( ; *pos != '\0'; ++pos) { - if (*pos == '/' || *pos == '\\') { - tmp_ch = *pos; + for ( ; *pos; ++pos) { + if (*pos == SEPARATOR) { + /* Temporarily truncate */ *pos = '\0'; - ret = mkdir(temp, 0755); - *pos = tmp_ch; + ret += mkdir(temp, 0755); + *pos = SEPARATOR; } } - if ((*(pos - 1) != '/') || (*(pos - 1) != '\\')) { - ret = mkdir(temp, 0755); - } + ret += mkdir(temp, 0755); av_free(temp); return ret; -- 2.6.4 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".