You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-11-29 05:57:37 +02:00
avformat/utils: move mkdir_p to utils
Because it will be used by avformat/segment.c or other module which need to automatically create sub-directories operation. Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
This commit is contained in:
@@ -4797,6 +4797,40 @@ void av_url_split(char *proto, int proto_size,
|
||||
}
|
||||
}
|
||||
|
||||
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;
|
||||
*pos = '\0';
|
||||
ret = mkdir(temp, 0755);
|
||||
*pos = tmp_ch;
|
||||
}
|
||||
}
|
||||
|
||||
if ((*(pos - 1) != '/') || (*(pos - 1) != '\\')) {
|
||||
ret = mkdir(temp, 0755);
|
||||
}
|
||||
|
||||
av_free(temp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
char *ff_data_to_hex(char *buff, const uint8_t *src, int s, int lowercase)
|
||||
{
|
||||
int i;
|
||||
|
||||
Reference in New Issue
Block a user