On 01/27/2010 02:00 AM, Markus Armbruster wrote:
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.

Yes, I don't mind changing error messages in the human monitor.

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 } }"

Not a bad idea if you think it's important. I don't think it is though. I think the chances of anyone relying on specific error messages on the monitor is very, very low.

Regards,

Anthony Liguori


Reply via email to