summaryrefslogtreecommitdiff
path: root/qom
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2013-04-18 18:44:02 +0200
committerAnthony Liguori <aliguori@us.ibm.com>2013-04-29 12:16:37 -0500
commit2e1103f60a871923ecd390804aba07b6031e0dc0 (patch)
treeedd182904cdbad50031424c22ed81496046f7488 /qom
parent98af93fde2e37b5b0c8cee9036e028fe6df6446c (diff)
downloadqemu-2e1103f60a871923ecd390804aba07b6031e0dc0.tar.gz
qemu-2e1103f60a871923ecd390804aba07b6031e0dc0.tar.bz2
qemu-2e1103f60a871923ecd390804aba07b6031e0dc0.zip
qom: do not return root for empty path
An empty path will return the sole object of that type in the QOM tree. This is different from "/", which returns the root. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Message-id: 1366303444-24620-7-git-send-email-pbonzini@redhat.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'qom')
-rw-r--r--qom/object.c12
1 files changed, 2 insertions, 10 deletions
diff --git a/qom/object.c b/qom/object.c
index 093502e509..dd53d242a5 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -1113,21 +1113,13 @@ static Object *object_resolve_partial_path(Object *parent,
Object *object_resolve_path_type(const char *path, const char *typename,
bool *ambiguous)
{
- bool partial_path = true;
Object *obj;
gchar **parts;
parts = g_strsplit(path, "/", 0);
- if (parts == NULL || parts[0] == NULL) {
- g_strfreev(parts);
- return object_get_root();
- }
-
- if (strcmp(parts[0], "") == 0) {
- partial_path = false;
- }
+ assert(parts);
- if (partial_path) {
+ if (parts[0] == NULL || strcmp(parts[0], "") != 0) {
if (ambiguous) {
*ambiguous = false;
}