From 81c2a5d217871d76fdfc3eed5fcd2e9434ec4fa1 Mon Sep 17 00:00:00 2001 From: Daniel Zaoui Date: Fri, 14 Mar 2014 12:59:58 +0200 Subject: [PATCH] Eolian/Generator: return values set to 0. Before eo_do invocation, generated legacy functions returning a value initialize it to 0. This change is needed in the case that eo_do fails to find some function, which leads to an unitialized value and behavior. --- src/bin/eolian/legacy_generator.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/bin/eolian/legacy_generator.c b/src/bin/eolian/legacy_generator.c index 301886ee6e..41b3d65b3f 100644 --- a/src/bin/eolian/legacy_generator.c +++ b/src/bin/eolian/legacy_generator.c @@ -298,9 +298,8 @@ _eapi_func_generate(const char *classname, Eolian_Function funcid, Eolian_Functi { if (eina_strbuf_length_get(eoparam)) eina_strbuf_append(eoparam, ", "); Eina_Bool had_star = !!strchr(rettype, '*'); - sprintf (tmpstr, " %s%s%s%s%s;\n", - ret_const?"const ":"", rettype, had_star?"":" ", retname, - had_star?" = NULL":""); + sprintf (tmpstr, " %s%s%s%s = 0;\n", + ret_const?"const ":"", rettype, had_star?"":" ", retname); eina_strbuf_append_printf(eoparam, "&%s", retname); } @@ -311,10 +310,6 @@ _eapi_func_generate(const char *classname, Eolian_Function funcid, Eolian_Functi eina_strbuf_replace_all(fbody, "@#ret_val", (rettype) ? retname : ""); eina_strbuf_replace_all(fbody, "@#is_const", (ftype == GET || eolian_function_object_is_const(funcid)) ? "const " : ""); - tmpstr[0] = '\0'; - if (rettype) sprintf (tmpstr, "(%s)(0)", rettype); - eina_strbuf_replace_all(fbody, "@#check_ret", tmpstr); - eina_strbuf_append(buf, eina_strbuf_string_get(fbody)); end: