qom: do not return root for empty path
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 18 Apr 2013 16:44:02 +0000 (18:44 +0200)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 29 Apr 2013 17:16:37 +0000 (12:16 -0500)
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>
qom/object.c

index 093502e5099315ddcfd431ae94779cb896301461..dd53d242a5cffe6810cf6b315ee5f6efa56d3316 100644 (file)
@@ -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;
         }