Enlightenment CVS committal

Author  : pfritz
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore


Modified Files:
        ecore_path.c ecore_plugin.c 


Log Message:
move ecore_plugin_available_get() to ecore_plugin.c

===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore/ecore_path.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- ecore_path.c        2 Mar 2008 02:01:11 -0000       1.27
+++ ecore_path.c        30 May 2008 10:18:04 -0000      1.28
@@ -211,84 +211,3 @@
    return avail;
 }
 
-/**
- * Retrieves a list of all available plugins in the given path.
- * @param   group_id The identifier for the given path.
- * @return  A pointer to a newly allocated list of all plugins found in the
- *          paths identified by @p group_id.  @c NULL otherwise.
- * @ingroup Ecore_Plugin
- */
-EAPI Ecore_List *
-ecore_plugin_available_get(Ecore_Path_Group *group)
-{
-   Ecore_List *avail = NULL;
-   Ecore_Hash *plugins = NULL;
-   char *path;
-
-   CHECK_PARAM_POINTER_RETURN("group", group, NULL);
-
-   if (!group->paths || ecore_list_empty_is(group->paths))
-     return NULL;
-
-   ecore_list_first_goto(group->paths);
-   plugins = ecore_hash_new(ecore_str_hash, ecore_str_compare);
-   ecore_hash_free_key_cb_set(plugins, free);
-
-   while ((path = ecore_list_next(group->paths)) != NULL)
-     {
-       DIR *dir;
-       struct stat st;
-       struct dirent *d;
-
-       if (stat(path, &st) < 0)
-         continue;
-
-       if (!S_ISDIR(st.st_mode))
-         continue;
-
-       dir = opendir(path);
-
-       if (!dir)
-         continue;
-
-       while ((d = readdir(dir)) != NULL)
-         {
-            char ppath[PATH_MAX];
-            char *ext;
-
-            if (*d->d_name == '.')
-              continue;
-
-            if (!ecore_str_has_suffix(d->d_name, SHARED_LIB_SUFFIX))
-              continue;
-
-            snprintf(ppath, PATH_MAX, "%s/%s", path, d->d_name);
-
-            stat(ppath, &st);
-
-            if (!S_ISREG(st.st_mode))
-              continue;
-
-            ecore_strlcpy(ppath, d->d_name, sizeof(ppath));
-            ext = strrchr(ppath, '.');
-            *ext = '\0';
-
-            if (!ecore_hash_get(plugins, ppath))
-              {
-                 char *key;
-
-                 key = strdup(ppath);
-                 ecore_hash_set(plugins, key, key);
-              }
-         }
-       closedir(dir);
-     }
-
-   ecore_hash_free_key_cb_set(plugins, NULL);
-   avail = ecore_hash_keys(plugins);
-   ecore_list_free_cb_set(avail, free);
-   ecore_hash_destroy(plugins);
-
-   return avail;
-}
-
===================================================================
RCS file: /cvs/e/e17/libs/ecore/src/lib/ecore/ecore_plugin.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- ecore_plugin.c      26 May 2008 05:16:32 -0000      1.18
+++ ecore_plugin.c      30 May 2008 10:18:04 -0000      1.19
@@ -150,3 +150,85 @@
 
    return ret;
 }
+
+/**
+ * Retrieves a list of all available plugins in the given path.
+ * @param   group_id The identifier for the given path.
+ * @return  A pointer to a newly allocated list of all plugins found in the
+ *          paths identified by @p group_id.  @c NULL otherwise.
+ * @ingroup Ecore_Plugin
+ */
+EAPI Ecore_List *
+ecore_plugin_available_get(Ecore_Path_Group *group)
+{
+   Ecore_List *avail = NULL;
+   Ecore_Hash *plugins = NULL;
+   char *path;
+
+   CHECK_PARAM_POINTER_RETURN("group", group, NULL);
+
+   if (!group->paths || ecore_list_empty_is(group->paths))
+     return NULL;
+
+   ecore_list_first_goto(group->paths);
+   plugins = ecore_hash_new(ecore_str_hash, ecore_str_compare);
+   ecore_hash_free_key_cb_set(plugins, free);
+
+   while ((path = ecore_list_next(group->paths)) != NULL)
+     {
+       DIR *dir;
+       struct stat st;
+       struct dirent *d;
+
+       if (stat(path, &st) < 0)
+         continue;
+
+       if (!S_ISDIR(st.st_mode))
+         continue;
+
+       dir = opendir(path);
+
+       if (!dir)
+         continue;
+
+       while ((d = readdir(dir)) != NULL)
+         {
+            char ppath[PATH_MAX];
+            char *ext;
+
+            if (*d->d_name == '.')
+              continue;
+
+            if (!ecore_str_has_suffix(d->d_name, SHARED_LIB_SUFFIX))
+              continue;
+
+            snprintf(ppath, PATH_MAX, "%s/%s", path, d->d_name);
+
+            stat(ppath, &st);
+
+            if (!S_ISREG(st.st_mode))
+              continue;
+
+            ecore_strlcpy(ppath, d->d_name, sizeof(ppath));
+            ext = strrchr(ppath, '.');
+            *ext = '\0';
+
+            if (!ecore_hash_get(plugins, ppath))
+              {
+                 char *key;
+
+                 key = strdup(ppath);
+                 ecore_hash_set(plugins, key, key);
+              }
+         }
+       closedir(dir);
+     }
+
+   ecore_hash_free_key_cb_set(plugins, NULL);
+   avail = ecore_hash_keys(plugins);
+   ecore_list_free_cb_set(avail, free);
+   ecore_hash_destroy(plugins);
+
+   return avail;
+}
+ 



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to