提交 8ffad850 编写于 作者: P Peter Crosthwaite 提交者: Paolo Bonzini

qom: object: Ignore refs/unrefs of NULL

Just do nothing if passed NULL for a ref or unref. This avoids
call sites that manage a combination of NULL or non-NULL pointers
having to add iffery around every ref and unref.
Signed-off-by: NPeter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
上级 c28322d1
......@@ -711,11 +711,17 @@ GSList *object_class_get_list(const char *implements_type,
void object_ref(Object *obj)
{
if (!obj) {
return;
}
atomic_inc(&obj->ref);
}
void object_unref(Object *obj)
{
if (!obj) {
return;
}
g_assert(obj->ref > 0);
/* parent always holds a reference to its children */
......@@ -1160,13 +1166,9 @@ static void object_set_link_property(Object *obj, Visitor *v, void *opaque,
return;
}
if (new_target) {
object_ref(new_target);
}
object_ref(new_target);
*child = new_target;
if (old_target != NULL) {
object_unref(old_target);
}
object_unref(old_target);
}
static Object *object_resolve_link_property(Object *parent, void *opaque, const gchar *part)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册