aboutsummaryrefslogtreecommitdiff
path: root/monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'monitor.c')
-rw-r--r--monitor.c22
1 files changed, 10 insertions, 12 deletions
diff --git a/monitor.c b/monitor.c
index 672afee4a7..e702278950 100644
--- a/monitor.c
+++ b/monitor.c
@@ -1515,11 +1515,15 @@ static void do_stop_capture(Monitor *mon, const QDict *qdict)
}
}
-static void do_wav_capture(Monitor *mon, const char *path,
- int has_freq, int freq,
- int has_bits, int bits,
- int has_channels, int nchannels)
-{
+static void do_wav_capture(Monitor *mon, const QDict *qdict)
+{
+ const char *path = qdict_get_str(qdict, "path");
+ int has_freq = qdict_haskey(qdict, "freq");
+ int freq = qdict_get_try_int(qdict, "freq", -1);
+ int has_bits = qdict_haskey(qdict, "bits");
+ int bits = qdict_get_try_int(qdict, "bits", -1);
+ int has_channels = qdict_haskey(qdict, "nchannels");
+ int nchannels = qdict_get_try_int(qdict, "nchannels", -1);
CaptureState *s;
s = qemu_mallocz (sizeof (*s));
@@ -2601,8 +2605,6 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline)
void *str_allocated[MAX_ARGS];
void *args[MAX_ARGS];
void (*handler_d)(Monitor *mon, const QDict *qdict);
- void (*handler_7)(Monitor *mon, void *arg0, void *arg1, void *arg2,
- void *arg3, void *arg4, void *arg5, void *arg6);
void (*handler_8)(Monitor *mon, void *arg0, void *arg1, void *arg2,
void *arg3, void *arg4, void *arg5, void *arg6,
void *arg7);
@@ -2891,14 +2893,10 @@ static void monitor_handle_command(Monitor *mon, const char *cmdline)
case 4:
case 5:
case 6:
+ case 7:
handler_d = cmd->handler;
handler_d(mon, qdict);
break;
- case 7:
- handler_7 = cmd->handler;
- handler_7(mon, args[0], args[1], args[2], args[3], args[4], args[5],
- args[6]);
- break;
case 8:
handler_8 = cmd->handler;
handler_8(mon, args[0], args[1], args[2], args[3], args[4], args[5],