forked from enlightenment/efl
* eina_module: Add eina_module_find. Thanks to Fabiano Fidêncio <fidencio@profusion.mobi>.
SVN revision: 43847
This commit is contained in:
parent
1d16f186fb
commit
ffb0bf8830
|
@ -12,3 +12,4 @@ Albin "Lutin" Tonnerre <albin.tonnerre@gmail.com>
|
|||
Andre Dieb <andre.dieb@gmail.com>
|
||||
Raphael Kubo da Costa <kubo@profusion.mobi>
|
||||
Gustavo Chaves <glima@profusion.mobi>
|
||||
Fabiano Fidêncio <fidencio@profusion.mobi>
|
||||
|
|
|
@ -70,6 +70,7 @@ EAPI Eina_Array * eina_module_list_get(Eina_Array *array, const char *path, unsi
|
|||
EAPI void eina_module_list_load(Eina_Array *list) EINA_ARG_NONNULL(1);
|
||||
EAPI void eina_module_list_unload(Eina_Array *list) EINA_ARG_NONNULL(1);
|
||||
EAPI void eina_module_list_flush(Eina_Array *list) EINA_ARG_NONNULL(1);
|
||||
EAPI Eina_Module * eina_module_find(Eina_Array *array, char *module) EINA_ARG_NONNULL(1, 2);
|
||||
|
||||
/**
|
||||
* @}
|
||||
|
|
|
@ -546,6 +546,37 @@ EAPI Eina_Array * eina_module_list_get(Eina_Array *array, const char *path, unsi
|
|||
return list_get_cb_data.array;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Find an module in array.
|
||||
*
|
||||
* @param array The array to find the module.
|
||||
* @param module The name of module to be searched;
|
||||
*
|
||||
* This function finds an @p module in an @p array;
|
||||
* If the element is found return the module else NULL.
|
||||
*/
|
||||
EAPI Eina_Module *
|
||||
eina_module_find(Eina_Array *array, char *module)
|
||||
{
|
||||
unsigned int i;
|
||||
Eina_Array_Iterator iterator;
|
||||
Eina_Module *m;
|
||||
|
||||
EINA_ARRAY_ITER_NEXT(array, i, m, iterator)
|
||||
{
|
||||
const char *file_m;
|
||||
ssize_t len;
|
||||
|
||||
file_m = basename(eina_module_file_get(m));
|
||||
len = strlen(file_m);
|
||||
len -= sizeof(MODULE_EXTENSION) - 1;
|
||||
if (len <= 0) continue;
|
||||
if (!strncmp(module, file_m, len)) return m;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load every module on the list of modules
|
||||
* @param array The array of modules to load
|
||||
|
|
Loading…
Reference in New Issue