aboutsummaryrefslogtreecommitdiff
path: root/sim/common/sim-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'sim/common/sim-utils.c')
-rw-r--r--sim/common/sim-utils.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/sim/common/sim-utils.c b/sim/common/sim-utils.c
index 63d532d..c6f96a8 100644
--- a/sim/common/sim-utils.c
+++ b/sim/common/sim-utils.c
@@ -328,15 +328,20 @@ sim_do_commandf (SIM_DESC sd,
{
va_list ap;
char *buf;
+ int ret;
+
va_start (ap, fmt);
- if (vasprintf (&buf, fmt, ap) < 0)
+ ret = vasprintf (&buf, fmt, ap);
+ va_end (ap);
+
+ if (ret < 0)
{
sim_io_eprintf (sd, "%s: asprintf failed for `%s'\n",
STATE_MY_NAME (sd), fmt);
return;
}
+
sim_do_command (sd, buf);
- va_end (ap);
free (buf);
}