express: Add utility function for checking file extensions

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2015-03-30 16:10:52 -04:00
parent 48dad68374
commit 2578ce12d9
2 changed files with 65 additions and 0 deletions

View File

@ -2,6 +2,47 @@
#include "utils.h"
#include "grid.h"
const char *extn_img[] =
{
".png", ".jpg", ".jpeg", ".jpe", ".jfif", ".tif", ".tiff", ".gif", ".thm",
".bmp", ".ico", ".ppm", ".pgm", ".pbm", ".pnm", ".xpm", ".psd", ".wbmp",
".cur", ".xcf", ".xcf.gz", ".arw", ".cr2", ".crw", ".dcr", ".dng", ".k25",
".kdc", ".erf", ".mrw", ".nef", ".nrf", ".nrw", ".orf", ".raw", ".rw2",
".pef", ".raf", ".sr2", ".srf", ".x3f", ".webp", ".ppt", ".pptx", ".odp",
".tgv", ".tga",
NULL
};
const char *extn_scale[] =
{
".svg", ".svgz", ".svg.gz", /* ".ps", ".ps.gz", ".pdf", */
NULL
};
const char *extn_edj[] =
{
".edj",
NULL
};
const char *extn_mov[] =
{
".asf", ".avi", ".bdm", ".bdmv", ".clpi", ".cpi", ".dv", ".fla", ".flv",
".m1v", ".m2t", ".m2v", ".m4v", ".mkv", ".mov", ".mp2", ".mp2ts", ".mp4",
".mpe", ".mpeg", ".mpg", ".mpl", ".mpls", ".mts", ".mxf", ".nut", ".nuv",
".ogg", ".ogm", ".ogv", ".qt", ".rm", ".rmj", ".rmm", ".rms", ".rmvb",
".rmx", ".rv", ".swf", ".ts", ".weba", ".webm", ".wmv", ".3g2", ".3gp",
".3gp2", ".3gpp", ".3gpp2", ".3p2", ".264",
".mp3", ".aac", ".wav", ".flac", ".m4a", ".opus",
NULL
};
const char *extn_aud[] =
{
".mp3", ".aac", ".wav", ".flac", ".m4a", ".opus",
NULL
};
/* translates VT100 ACS escape codes to Unicode values.
* Based on rxvt-unicode screen.C table.
*/
@ -620,3 +661,20 @@ _util_str_has_prefix(const char *str, const char *prefix)
return (strncasecmp(str, prefix, plen) == 0);
}
const char *
_util_file_extension_get(const char *f, const char **extension)
{
int i = 0, len = 0, l = 0;
len = strlen(f);
for (; extension[i]; i++)
{
l = strlen(extension[i]);
if (len < l) continue;
if (!strcasecmp(extension[i], f + len - l))
return extension[i];
}
return NULL;
}

View File

@ -1,6 +1,12 @@
#ifndef _UTILS_H_
# define _UTILS_H_ 1
extern const char *extn_img[];
extern const char *extn_scale[];
extern const char *extn_edj[];
extern const char *extn_mov[];
extern const char *extn_aud[];
const char *_util_user_dir_get(void);
char *_util_user_name_get(void);
char *_util_user_fullname_get(void);
@ -13,6 +19,7 @@ Eina_Bool _util_link_is_protocol(const char *str);
Eina_Bool _util_is_file(const char *str);
char *_util_local_path_get(const Evas_Object *obj, const char *relpath);
Eina_Bool _util_str_has_prefix(const char *str, const char *prefix);
const char *_util_file_extension_get(const char *f, const char **extension);
#if defined(SUPPORT_DBLWIDTH)
static inline Eina_Bool