diff mbox series

[09/10] qom: Improve {qom, device}-list-properties error messages

Message ID 20201113082626.2725812-10-armbru@redhat.com (mailing list archive)
State New, archived
Headers show
Series Chipping away at qerror.h | expand

Commit Message

Markus Armbruster Nov. 13, 2020, 8:26 a.m. UTC
qom-list-properties reports

    Parameter 'typename' expects device

when @typename exists, but isn't a TYPE_DEVICE.  Improve this to

    Parameter 'typename' expects a non-abstract device type

device-list-properties reports

    Parameter 'typename' expects object

when @typename exists, but isn't a TYPE_OBJECT.  Improve this to

    Parameter 'typename' expects a QOM type

Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 qom/qom-qmp-cmds.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

Comments

Paolo Bonzini Nov. 13, 2020, 9:09 a.m. UTC | #1
On 13/11/20 09:26, Markus Armbruster wrote:
> qom-list-properties reports
> 
>      Parameter 'typename' expects device
> 
> when @typename exists, but isn't a TYPE_DEVICE.  Improve this to
> 
>      Parameter 'typename' expects a non-abstract device type
> 
> device-list-properties reports
> 
>      Parameter 'typename' expects object
> 
> when @typename exists, but isn't a TYPE_OBJECT.  Improve this to
> 
>      Parameter 'typename' expects a QOM type

Silly mistake: device-list-properties and qom-list-properties are 
exchanged in the commit message.  Can be fixed without reposting.

Paolo
Markus Armbruster Nov. 13, 2020, 1:39 p.m. UTC | #2
Paolo Bonzini <pbonzini@redhat.com> writes:

> On 13/11/20 09:26, Markus Armbruster wrote:
>> qom-list-properties reports
>>      Parameter 'typename' expects device
>> when @typename exists, but isn't a TYPE_DEVICE.  Improve this to
>>      Parameter 'typename' expects a non-abstract device type
>> device-list-properties reports
>>      Parameter 'typename' expects object
>> when @typename exists, but isn't a TYPE_OBJECT.  Improve this to
>>      Parameter 'typename' expects a QOM type
>
> Silly mistake: device-list-properties and qom-list-properties are
> exchanged in the commit message.  Can be fixed without reposting.

You're right.  Thanks!
diff mbox series

Patch

diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c
index 310ab2d048..2dd233f293 100644
--- a/qom/qom-qmp-cmds.c
+++ b/qom/qom-qmp-cmds.c
@@ -138,15 +138,10 @@  ObjectPropertyInfoList *qmp_device_list_properties(const char *typename,
         return NULL;
     }
 
-    klass = object_class_dynamic_cast(klass, TYPE_DEVICE);
-    if (klass == NULL) {
-        error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "typename", TYPE_DEVICE);
-        return NULL;
-    }
-
-    if (object_class_is_abstract(klass)) {
+    if (!object_class_dynamic_cast(klass, TYPE_DEVICE)
+        || object_class_is_abstract(klass)) {
         error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "typename",
-                   "non-abstract device type");
+                   "a non-abstract device type");
         return NULL;
     }
 
@@ -208,9 +203,9 @@  ObjectPropertyInfoList *qmp_qom_list_properties(const char *typename,
         return NULL;
     }
 
-    klass = object_class_dynamic_cast(klass, TYPE_OBJECT);
-    if (klass == NULL) {
-        error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "typename", TYPE_OBJECT);
+    if (!object_class_dynamic_cast(klass, TYPE_OBJECT)) {
+        error_setg(errp, QERR_INVALID_PARAMETER_VALUE, "typename",
+                   "a QOM type");
         return NULL;
     }