diff options
Diffstat (limited to 'sim/common/sim-utils.c')
-rw-r--r-- | sim/common/sim-utils.c | 9 |
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); } |