diff --git a/legacy/eio/src/lib/Eio.h b/legacy/eio/src/lib/Eio.h index c8e78378d1..27c29cb6c2 100644 --- a/legacy/eio/src/lib/Eio.h +++ b/legacy/eio/src/lib/Eio.h @@ -233,6 +233,14 @@ EAPI void *eio_file_container_get(Eio_File *ls); EAPI Eina_Bool eio_file_cancel(Eio_File *ls); +EAPI Eina_Bool eio_file_associate_add(Eio_File *ls, + const char *key, + void *data, Eina_Free_Cb free_cb); +EAPI Eina_Bool eio_file_associate_direct_add(Eio_File *ls, + const char *key, + void *data, Eina_Free_Cb free_cb); +EAPI void *eio_file_associate_find(Eio_File *ls, const char *key); + /** * @} */ diff --git a/legacy/eio/src/lib/eio_main.c b/legacy/eio/src/lib/eio_main.c index 19e2e80273..30da8aa73a 100644 --- a/legacy/eio/src/lib/eio_main.c +++ b/legacy/eio/src/lib/eio_main.c @@ -177,7 +177,7 @@ eio_associate_malloc(void *data, Eina_Free_Cb free_cb) if (!tmp) return tmp; tmp->data = data; - tmp->free_cb = free_cb ? free_cb : free; + tmp->free_cb = free_cb; return tmp; } @@ -190,7 +190,8 @@ eio_associate_free(void *data) if (!data) return ; tmp = data; - tmp->free_cb(tmp->data); + if (tmp->free_cb) + tmp->free_cb(tmp->data); _eio_pool_free(&associate_pool, tmp); }