Commit 18f42142a534e2aeaf153c7fbbb4ccc6d8874e7e

Thomas de Grivel 2023-03-16T19:31:34

wip cfn_apply

diff --git a/libc3/cfn.c b/libc3/cfn.c
index 271c412..83eb730 100644
--- a/libc3/cfn.c
+++ b/libc3/cfn.c
@@ -35,7 +35,7 @@ s_tag * cfn_apply (s_cfn *cfn, s_list *args, s_tag *dest)
   s_list *cfn_arg_type;
   sw i = 0;
   sw num_args;
-  void* result;
+  void *result;
   s_tag tmp;
   s_tag tmp2;
   assert(cfn);
@@ -71,8 +71,10 @@ s_tag * cfn_apply (s_cfn *cfn, s_list *args, s_tag *dest)
   }
   if (cfn->ptr.f) {
     ffi_call(&cfn->cif, cfn->ptr.f, result, arg_values);
-    if (cfn->arg_result)
+    if (cfn->arg_result) {
       *dest = tmp2;
+      tag_clean(&tmp);
+    }
     else
       *dest = tmp;
   }