提交 fdcfa190 编写于 作者: M Markus Armbruster

qdev: convert setting device properties to QError

上级 84745d68
......@@ -548,25 +548,24 @@ int qdev_prop_parse(DeviceState *dev, const char *name, const char *value)
* removed along with it.
*/
if (!prop || !prop->info->parse) {
fprintf(stderr, "property \"%s.%s\" not found\n",
dev->info->name, name);
qerror_report(QERR_PROPERTY_NOT_FOUND, dev->info->name, name);
return -1;
}
ret = prop->info->parse(dev, prop, value);
if (ret < 0) {
switch (ret) {
case -EEXIST:
fprintf(stderr, "property \"%s.%s\": \"%s\" is already in use\n",
dev->info->name, name, value);
qerror_report(QERR_PROPERTY_VALUE_IN_USE,
dev->info->name, name, value);
break;
default:
case -EINVAL:
fprintf(stderr, "property \"%s.%s\": failed to parse \"%s\"\n",
dev->info->name, name, value);
qerror_report(QERR_PROPERTY_VALUE_BAD,
dev->info->name, name, value);
break;
case -ENOENT:
fprintf(stderr, "property \"%s.%s\": could not find \"%s\"\n",
dev->info->name, name, value);
qerror_report(QERR_PROPERTY_VALUE_NOT_FOUND,
dev->info->name, name, value);
break;
}
return -1;
......
......@@ -146,8 +146,6 @@ static int set_property(const char *name, const char *value, void *opaque)
return 0;
if (qdev_prop_parse(dev, name, value) == -1) {
error_report("can't set property \"%s\" to \"%s\" for \"%s\"",
name, value, dev->info->name);
return -1;
}
return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册