From: Kim W. <ki...@wo...> - 2006-10-28 15:41:50
|
Enlightenment CVS wrote: > Enlightenment CVS committal > > Author : onefang > Project : e17 > Module : libs/ecore > > Dir : e17/libs/ecore/src/lib/ecore_file > > > Modified Files: > Ecore_File.h ecore_file.c > > > Log Message: > 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. > > =================================================================== > RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_file/Ecore_File.h,v > retrieving revision 1.27 > retrieving revision 1.28 > diff -u -3 -r1.27 -r1.28 > --- Ecore_File.h 8 Sep 2006 16:52:29 -0000 1.27 > +++ Ecore_File.h 28 Oct 2006 08:48:11 -0000 1.28 > @@ -76,6 +76,7 @@ > EAPI char *ecore_file_readlink (const char *link); > EAPI Ecore_List *ecore_file_ls (const char *dir); > 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 Ecore_File_Monitor *ecore_file_monitor_add(const char *path, > =================================================================== > RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore_file/ecore_file.c,v > retrieving revision 1.49 > retrieving revision 1.50 > diff -u -3 -r1.49 -r1.50 > --- ecore_file.c 15 Oct 2006 09:32:25 -0000 1.49 > +++ ecore_file.c 28 Oct 2006 08:48:11 -0000 1.50 > @@ -480,6 +480,40 @@ > } > > 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 * > ecore_file_strip_ext(const char *path) > { > char *p, *file = NULL; > Do you really want "static" in "static char buf[PATH_MAX]" ? /Kim |