From e63cddca442dd4f8f7124e7827e347fe5046e416 Mon Sep 17 00:00:00 2001 From: Mole Shang <135e2@135e2.dev> Date: Tue, 8 Aug 2023 23:19:14 +0800 Subject: utils: expose mimeType2ext in utils --- src/utils/utils.c | 19 +++++++++++++++++++ src/utils/utils.h | 2 ++ 2 files changed, 21 insertions(+) (limited to 'src/utils') diff --git a/src/utils/utils.c b/src/utils/utils.c index ea0b424..ae60eee 100644 --- a/src/utils/utils.c +++ b/src/utils/utils.c @@ -140,6 +140,25 @@ int substitute_str(const char *subject, const char *pattern, return 0; } +const char *mimeType2ext(const char *mimeType) { + static char mimeType_l[CHAR_MAX]; + strcpy(mimeType_l, mimeType); + const char *exts[2]; + size_t extsCount = 0; + + char *token = strtok(mimeType_l, "/"); + while (token != NULL && extsCount < 2) { + exts[extsCount++] = token; + token = strtok(NULL, "/"); + } + + if (extsCount == 2) { + return exts[1]; + } + + return "mp4"; // Cannot parse, use default +} + int repchr(char *str, char t, char r) { int c = 0; for (size_t i = 0; str[i] != '\0'; i++) { diff --git a/src/utils/utils.h b/src/utils/utils.h index f5bf8fc..f6bbad5 100644 --- a/src/utils/utils.h +++ b/src/utils/utils.h @@ -9,6 +9,8 @@ int regex_match(const char *, str_array_t, str_array_t *); int substitute_str(const char *subject, const char *pattern, const char *replacement, char **presult); +const char *mimeType2ext(const char *mimeType); + int repchr(char *str, char t, char r); void free_and_nullify(void *p); -- cgit v1.2.3