forked from enlightenment/efl
eolian: properly free parts
This commit is contained in:
parent
0a92c0c61f
commit
c8e7ad530e
|
@ -29,6 +29,7 @@ lib_eolian_libeolian_la_SOURCES = \
|
|||
lib/eolian/database_constructor_api.c \
|
||||
lib/eolian/database_event.c \
|
||||
lib/eolian/database_event_api.c \
|
||||
lib/eolian/database_part.c \
|
||||
lib/eolian/database_expr.c \
|
||||
lib/eolian/database_expr_api.c \
|
||||
lib/eolian/database_var.c \
|
||||
|
|
|
@ -10,6 +10,7 @@ database_class_del(Eolian_Class *cl)
|
|||
{
|
||||
Eolian_Function *fid;
|
||||
Eolian_Event *ev;
|
||||
Eolian_Part *pt;
|
||||
Eolian_Implement *impl;
|
||||
Eolian_Constructor *ctor;
|
||||
const char *s;
|
||||
|
@ -27,6 +28,7 @@ database_class_del(Eolian_Class *cl)
|
|||
EINA_LIST_FREE(cl->methods, fid) database_function_del(fid);
|
||||
EINA_LIST_FREE(cl->properties, fid) database_function_del(fid);
|
||||
EINA_LIST_FREE(cl->events, ev) database_event_del(ev);
|
||||
EINA_LIST_FREE(cl->parts, pt) database_part_del(pt);
|
||||
|
||||
if (cl->name) eina_stringshare_del(cl->name);
|
||||
if (cl->full_name) eina_stringshare_del(cl->full_name);
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include <Eina.h>
|
||||
#include "eolian_database.h"
|
||||
|
||||
void
|
||||
database_part_del(Eolian_Part *part)
|
||||
{
|
||||
if (!part) return;
|
||||
if (part->name) eina_stringshare_del(part->name);
|
||||
database_doc_del(part->doc);
|
||||
free(part);
|
||||
}
|
|
@ -358,5 +358,7 @@ void database_constructor_del(Eolian_Constructor *ctor);
|
|||
/* events */
|
||||
void database_event_del(Eolian_Event *event);
|
||||
|
||||
/* parts */
|
||||
void database_part_del(Eolian_Part *part);
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue