mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-08 06:09:50 +00: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:
parent
a7429d853d
commit
bb660800a5
3 changed files with 44 additions and 35 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue