diff options
author | Steve Sistare <steven.sistare@oracle.com> | 2025-03-03 13:09:57 -0800 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2025-05-08 09:02:58 +0200 |
commit | 67ce2866a76935cdea39f03e282844e3c4559f12 (patch) | |
tree | edd85851056c656d0e8436d4c72495576d101b8a | |
parent | 9b23bf5024b5c7d91cfe9233f71859208f4ffa94 (diff) | |
download | qemu-67ce2866a76935cdea39f03e282844e3c4559f12.zip qemu-67ce2866a76935cdea39f03e282844e3c4559f12.tar.gz qemu-67ce2866a76935cdea39f03e282844e3c4559f12.tar.bz2 |
qom: Factor qom_resolve_path() out
Factor out a helper to resolve the user's path and print error messages.
No functional change.
Signed-off-by: Steve Sistare <steven.sistare@oracle.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <1741036202-265696-2-git-send-email-steven.sistare@oracle.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
-rw-r--r-- | qom/qom-qmp-cmds.c | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c index e866547..293755f 100644 --- a/qom/qom-qmp-cmds.c +++ b/qom/qom-qmp-cmds.c @@ -28,15 +28,11 @@ #include "qom/object_interfaces.h" #include "qom/qom-qobject.h" -ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp) +static Object *qom_resolve_path(const char *path, Error **errp) { - Object *obj; bool ambiguous = false; - ObjectPropertyInfoList *props = NULL; - ObjectProperty *prop; - ObjectPropertyIterator iter; + Object *obj = object_resolve_path(path, &ambiguous); - obj = object_resolve_path(path, &ambiguous); if (obj == NULL) { if (ambiguous) { error_setg(errp, "Path '%s' is ambiguous", path); @@ -44,6 +40,19 @@ ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp) error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND, "Device '%s' not found", path); } + } + return obj; +} + +ObjectPropertyInfoList *qmp_qom_list(const char *path, Error **errp) +{ + Object *obj; + ObjectPropertyInfoList *props = NULL; + ObjectProperty *prop; + ObjectPropertyIterator iter; + + obj = qom_resolve_path(path, errp); + if (obj == NULL) { return NULL; } |