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:
parent
98af93fde2
commit
2e1103f60a
12
qom/object.c
12
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,
|
Object *object_resolve_path_type(const char *path, const char *typename,
|
||||||
bool *ambiguous)
|
bool *ambiguous)
|
||||||
{
|
{
|
||||||
bool partial_path = true;
|
|
||||||
Object *obj;
|
Object *obj;
|
||||||
gchar **parts;
|
gchar **parts;
|
||||||
|
|
||||||
parts = g_strsplit(path, "/", 0);
|
parts = g_strsplit(path, "/", 0);
|
||||||
if (parts == NULL || parts[0] == NULL) {
|
assert(parts);
|
||||||
g_strfreev(parts);
|
|
||||||
return object_get_root();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strcmp(parts[0], "") == 0) {
|
if (parts[0] == NULL || strcmp(parts[0], "") != 0) {
|
||||||
partial_path = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (partial_path) {
|
|
||||||
if (ambiguous) {
|
if (ambiguous) {
|
||||||
*ambiguous = false;
|
*ambiguous = false;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user