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>
This commit is contained in:
Paolo Bonzini 2013-04-18 18:44:02 +02:00 committed by Anthony Liguori
parent 98af93fde2
commit 2e1103f60a

View 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();
}
assert(parts);
if (strcmp(parts[0], "") == 0) {
partial_path = false;
}
if (partial_path) {
if (parts[0] == NULL || strcmp(parts[0], "") != 0) {
if (ambiguous) {
*ambiguous = false;
}