Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/engrave
Dir : e17/libs/engrave/src/lib Modified Files: engrave_file.c engrave_file.h engrave_group.c engrave_group.h Log Message: - add the ability to find data blocks by key =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v retrieving revision 1.13 retrieving revision 1.14 diff -u -3 -r1.13 -r1.14 --- engrave_file.c 16 Nov 2004 01:13:30 -0000 1.13 +++ engrave_file.c 29 Nov 2004 22:27:21 -0000 1.14 @@ -345,4 +345,28 @@ } } +/** + * engrave_file_data_by_key_find - find the Engrave_Data by key + * @param ef: The Engrave_File to search + * @param key: They key to search for + * + * @return Returns the Engrave_Data with the matching key or NULL if no such + * data exists. + */ +Engrave_Data * +engrave_file_data_by_key_find(Engrave_File *ef, const char *key) +{ + Evas_List *l; + + if (!ef || !key) return NULL; + for (l = ef->data; l; l = l->next) { + Engrave_Data *ed = l->data; + const char *data_key = engrave_data_key_get(ed); + + if (!strcmp(key, data_key) && (strlen(key) == strlen(data_key))) + return ed; + } +} + + =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_file.h 16 Nov 2004 01:13:30 -0000 1.9 +++ engrave_file.h 29 Nov 2004 22:27:22 -0000 1.10 @@ -68,6 +68,9 @@ void (*func)(Engrave_Font *, void *), void *data); +Engrave_Data *engrave_file_data_by_key_find(Engrave_File *ef, + const char *key); + /** * @} */ =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -3 -r1.11 -r1.12 --- engrave_group.c 15 Nov 2004 16:49:05 -0000 1.11 +++ engrave_group.c 29 Nov 2004 22:27:23 -0000 1.12 @@ -361,4 +361,26 @@ } } +/** + * engrave_group_data_by_key_find - find the Engrave_Data by key + * @param eg: The Engrave_Group to search + * @param key: They key to search for + * + * @return Returns the Engrave_Data with the matching key or NULL if no such + * data exists. + */ +Engrave_Data * +engrave_group_data_by_key_find(Engrave_Group *eg, const char *key) +{ + Evas_List *l; + + if (!eg || !key) return NULL; + for (l = eg->data; l; l = l->next) { + Engrave_Data *ed = l->data; + const char *data_key = engrave_data_key_get(ed); + + if (!strcmp(key, data_key) && (strlen(key) == strlen(data_key))) + return ed; + } +} =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.h,v retrieving revision 1.9 retrieving revision 1.10 diff -u -3 -r1.9 -r1.10 --- engrave_group.h 15 Nov 2004 16:49:05 -0000 1.9 +++ engrave_group.h 29 Nov 2004 22:27:23 -0000 1.10 @@ -70,6 +70,9 @@ void engrave_group_programs_foreach(Engrave_Group *eg, void (*func)(Engrave_Program *, void *), void *data); +Engrave_Data *engrave_group_data_by_key_find(Engrave_Group *eg, + const char *key); + /** * @} */ ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://productguide.itmanagersjournal.com/ _______________________________________________ enlightenment-cvs mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs