efreet: Don't check if path is a subdir
authorenglebass <englebass@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 19 Aug 2011 06:44:59 +0000 (06:44 +0000)
committerenglebass <englebass@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 19 Aug 2011 06:44:59 +0000 (06:44 +0000)
We don't recurse in extra_dirs, so we must store all paths explicit.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/efreet@62582 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/bin/efreet_desktop_cache_create.c
src/lib/efreet_cache.c

index 7051141..84630a0 100644 (file)
@@ -36,12 +36,6 @@ static Eina_Hash *comment = NULL;
 static Eina_Hash *exec = NULL;
 
 static int
-strcmplen(const void *data1, const void *data2)
-{
-    return strncmp(data1, data2, eina_stringshare_strlen(data1));
-}
-
-static int
 cache_add(const char *path, const char *file_id, int priority __UNUSED__, int *changed)
 {
     Efreet_Desktop *desk;
@@ -335,7 +329,7 @@ main(int argc, char **argv)
 
         for (j = 0; j < user_dirs->array_count; j++)
         {
-            if (eina_list_search_unsorted_list(scanned, strcmplen, user_dirs->array[j]))
+            if (eina_list_search_unsorted_list(scanned, EINA_COMPARE_CB(strcmp), user_dirs->array[j]))
                 continue;
             if (!ecore_file_is_dir(user_dirs->array[j])) continue;
             if (!cache_scan(user_dirs->array[j], NULL, priority, 0, &changed)) goto error;
@@ -352,7 +346,7 @@ main(int argc, char **argv)
 
         EINA_LIST_FOREACH(extra_dirs, l, path)
         {
-            if (eina_list_search_unsorted_list(scanned, strcmplen, path))
+            if (eina_list_search_unsorted_list(scanned, EINA_COMPARE_CB(strcmp), path))
                 continue;
             if (!ecore_file_is_dir(path)) continue;
 
index 3ee3e03..770c72d 100644 (file)
@@ -926,7 +926,7 @@ efreet_cache_desktop_add(Efreet_Desktop *desktop)
         for (i = 0; i < arr->array_count; i++)
         {
             /* Check if we already have this dir in cache */
-            if (!strncmp(dir, arr->array[i], strlen(arr->array[i])))
+            if (!strcmp(dir, arr->array[i]))
                 return;
         }
     }