forked from enlightenment/efl
gaaaaah! fix buf - paths were "wrong" - thus matching failed. man i see some
expensive ops going on with lots of strcmping. SVN revision: 48917
This commit is contained in:
parent
79f1448682
commit
8bbc3b9024
|
@ -8,6 +8,9 @@
|
|||
#include <string.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include <Ecore.h>
|
||||
#include <Ecore_File.h>
|
||||
|
||||
#include "Efreet.h"
|
||||
#include "efreet_private.h"
|
||||
|
||||
|
@ -243,7 +246,16 @@ efreet_dirs_get(const char *key, const char *fallback)
|
|||
{
|
||||
*p = '\0';
|
||||
if (!eina_list_search_unsorted(dirs, EINA_COMPARE_CB(strcmp), s))
|
||||
dirs = eina_list_append(dirs, (void *)eina_stringshare_add(s));
|
||||
{
|
||||
// resolve path properly/fully to remove path//path2 to
|
||||
// path/path2, path/./path2 to path/path2 etc.
|
||||
char *ts = ecore_file_realpath(s);
|
||||
if (ts)
|
||||
{
|
||||
dirs = eina_list_append(dirs, (void *)eina_stringshare_add(ts));
|
||||
free(ts);
|
||||
}
|
||||
}
|
||||
|
||||
s = ++p;
|
||||
p = strchr(s, EFREET_PATH_SEP);
|
||||
|
|
Loading…
Reference in New Issue