Here's a patch:

diff --git a/builtins/declare.def b/builtins/declare.def
index 5ed83a0..f0f9a6d 100644
--- a/builtins/declare.def
+++ b/builtins/declare.def
@@ -280,7 +280,7 @@ declare_internal (list, local_var)
       return (sh_chkwrite (any_failed ? EXECUTION_FAILURE : 
EXECUTION_SUCCESS));
     }
 
-#define NEXT_VARIABLE() free (name); list = list->next; continue
+#define NEXT_VARIABLE() do { free (name); list = list->next; continue; } 
while(0)
 
   /* There are arguments left, so we are making variables. */
   while (list)         /* declare [-aAfFirx] name [name ...] */

-- 
Eduardo Bustamante
https://dualbus.me/

Reply via email to