forked from enlightenment/efl
Copy filename escaping code from e_utils to make it more generally available.
Step 2 is to remove the original and have everything call this one instead. SVN revision: 26828
This commit is contained in:
parent
c7722b50d8
commit
be5de6cdb3
|
@ -76,6 +76,7 @@ extern "C" {
|
||||||
EAPI char *ecore_file_readlink (const char *link);
|
EAPI char *ecore_file_readlink (const char *link);
|
||||||
EAPI Ecore_List *ecore_file_ls (const char *dir);
|
EAPI Ecore_List *ecore_file_ls (const char *dir);
|
||||||
EAPI char *ecore_file_app_exe_get (const char *app);
|
EAPI char *ecore_file_app_exe_get (const char *app);
|
||||||
|
EAPI char *ecore_file_escape_name (const char *filename);
|
||||||
EAPI char *ecore_file_strip_ext (const char *file);
|
EAPI char *ecore_file_strip_ext (const char *file);
|
||||||
|
|
||||||
EAPI Ecore_File_Monitor *ecore_file_monitor_add(const char *path,
|
EAPI Ecore_File_Monitor *ecore_file_monitor_add(const char *path,
|
||||||
|
|
|
@ -479,6 +479,40 @@ restart:
|
||||||
return exe;
|
return exe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI char *
|
||||||
|
ecore_file_escape_name(const char *filename)
|
||||||
|
{
|
||||||
|
const char *p;
|
||||||
|
char *q;
|
||||||
|
static char buf[PATH_MAX];
|
||||||
|
|
||||||
|
p = filename;
|
||||||
|
q = buf;
|
||||||
|
while (*p)
|
||||||
|
{
|
||||||
|
if ((q - buf) > (PATH_MAX - 6)) return NULL;
|
||||||
|
if (
|
||||||
|
(*p == ' ') || (*p == '\t') || (*p == '\n') ||
|
||||||
|
(*p == '\\') || (*p == '\'') || (*p == '\"') ||
|
||||||
|
(*p == ';') || (*p == '!') || (*p == '#') ||
|
||||||
|
(*p == '$') || (*p == '%') || (*p == '&') ||
|
||||||
|
(*p == '*') || (*p == '(') || (*p == ')') ||
|
||||||
|
(*p == '[') || (*p == ']') || (*p == '{') ||
|
||||||
|
(*p == '}') || (*p == '|') || (*p == '<') ||
|
||||||
|
(*p == '>') || (*p == '?')
|
||||||
|
)
|
||||||
|
{
|
||||||
|
*q = '\\';
|
||||||
|
q++;
|
||||||
|
}
|
||||||
|
*q = *p;
|
||||||
|
q++;
|
||||||
|
p++;
|
||||||
|
}
|
||||||
|
*q = 0;
|
||||||
|
return strdup(buf);
|
||||||
|
}
|
||||||
|
|
||||||
EAPI char *
|
EAPI char *
|
||||||
ecore_file_strip_ext(const char *path)
|
ecore_file_strip_ext(const char *path)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue