cpp: avoid errenous multiple expansions
[m6w6/ext-psi] / src / types / cpp_macro_call.c
index 0df9adbbbca8037add029de607dd616d88473215..4bd39323530728a246677cb38580f0b6b282f201 100644 (file)
@@ -70,3 +70,17 @@ void psi_cpp_macro_call_free(struct psi_cpp_macro_call **call_ptr)
        }
 }
 
+void psi_cpp_macro_call_dump(int fd, struct psi_cpp_macro_call *call)
+{
+       size_t i = 0;
+       struct psi_num_exp *num;
+
+       dprintf(fd, "%s(", call->name);
+       while (psi_plist_get(call->args, i++, &num)) {
+               if (i > 1) {
+                       dprintf(fd, ", ");
+               }
+               psi_num_exp_dump(fd, num);
+       }
+       dprintf(fd, ")");
+}