libobs/util: Add function to get path extension

master
jp9000 2016-06-15 16:18:56 -07:00
parent aa88b323aa
commit 9948eee6c2
2 changed files with 25 additions and 0 deletions

View File

@ -633,3 +633,26 @@ int os_mkdirs(const char *dir)
dstr_free(&dir_str); dstr_free(&dir_str);
return ret; return ret;
} }
const char *os_get_path_extension(const char *path)
{
struct dstr temp;
size_t pos = 0;
char *period;
char *slash;
dstr_init_copy(&temp, path);
dstr_replace(&temp, "\\", "/");
slash = strrchr(temp.array, '/');
period = strrchr(temp.array, '.');
if (period)
pos = (size_t)(period - temp.array);
dstr_free(&temp);
if (!period || slash > period)
return NULL;
return path + pos;
}

View File

@ -113,6 +113,8 @@ EXPORT bool os_file_exists(const char *path);
EXPORT size_t os_get_abs_path(const char *path, char *abspath, size_t size); EXPORT size_t os_get_abs_path(const char *path, char *abspath, size_t size);
EXPORT char *os_get_abs_path_ptr(const char *path); EXPORT char *os_get_abs_path_ptr(const char *path);
EXPORT const char *os_get_path_extension(const char *path);
struct os_dir; struct os_dir;
typedef struct os_dir os_dir_t; typedef struct os_dir os_dir_t;