Anthony Liguori <anth...@codemonkey.ws> writes: > On 01/20/2010 06:07 AM, Markus Armbruster wrote: >> Signed-off-by: Markus Armbruster<arm...@redhat.com> >> --- >> monitor.c | 4 ++-- >> qemu-monitor.hx | 3 ++- >> 2 files changed, 4 insertions(+), 3 deletions(-) >> >> diff --git a/monitor.c b/monitor.c >> index 816f6fd..b9166c3 100644 >> --- a/monitor.c >> +++ b/monitor.c >> @@ -808,11 +808,11 @@ static void do_info_cpus(Monitor *mon, QObject >> **ret_data) >> *ret_data = QOBJECT(cpu_list); >> } >> >> -static void do_cpu_set(Monitor *mon, const QDict *qdict) >> +static void do_cpu_set(Monitor *mon, const QDict *qdict, QObject **ret_data) >> { >> int index = qdict_get_int(qdict, "index"); >> if (mon_set_cpu(index)< 0) >> - monitor_printf(mon, "Invalid CPU index\n"); >> + qemu_error_new(QERR_INVALID_CPU_INDEX); >> > > Just out of curiousity, why introduce a new error verses using > (QERR_INVALID_PARAMETER, "index")?
To avoid changing the non-QMP monitor. If you don't care about that, I can revert 5/6 and update 6/6. Alternatively, here's a trick to reduce the number of client visible QMP errors while still keeping the old diagnostic on the non-QMP monitor: +#define QERR_INVALID_CPU_INDEX \ + "{ 'class': 'InvalidParameter, 'data': { 'name': 'index' } }" + #define QERR_INVALID_PARAMETER \ "{ 'class': 'InvalidParameter', 'data': { 'name': %s } }"