diff --git a/src/bin/eolian/impl_generator.c b/src/bin/eolian/impl_generator.c index 1043898f71..2b7aa2bb95 100644 --- a/src/bin/eolian/impl_generator.c +++ b/src/bin/eolian/impl_generator.c @@ -275,7 +275,8 @@ impl_source_generate(const Eolian_Class *class, Eina_Strbuf *buffer) } eina_iterator_free(itr); - if (eolian_class_implements_get(class)) + itr = eolian_class_implements_get(class); + if (itr) { Eolian_Implement *impl_desc; EINA_ITERATOR_FOREACH(itr, impl_desc) diff --git a/src/bin/eolian/main.c b/src/bin/eolian/main.c index a50f745414..c4c49743b1 100644 --- a/src/bin/eolian/main.c +++ b/src/bin/eolian/main.c @@ -171,10 +171,9 @@ _generate_impl_c_file(char *filename, const Eolian_Class *class) if (eina_strbuf_string_get(buffer)) fputs(eina_strbuf_string_get(buffer), fd); - fclose(fd); - ret = EINA_TRUE; end: + fclose(fd); eina_strbuf_free(buffer); return ret;