Signed-off-by: Xu Wang <gesaint(a)linux.vnet.ibm.com>
---
libxkutil/device_parsing.c | 23 ++++++++++++++++++++---
1 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/libxkutil/device_parsing.c b/libxkutil/device_parsing.c
index 4ef3bd1..6d91198 100644
--- a/libxkutil/device_parsing.c
+++ b/libxkutil/device_parsing.c
@@ -1391,15 +1391,32 @@ static int parse_emu_device(xmlNode *node, struct virt_device
**vdevs)
struct virt_device *vdev = NULL;
struct emu_device *edev = NULL;
+ CU_DEBUG("Enter parse_emu_device().");
+
vdev = calloc(1, sizeof(*vdev));
- if (vdev == NULL)
+ if (vdev == NULL) {
+ CU_DEBUG("calloc failed.");
goto err;
+ }
edev = &(vdev->dev.emu);
- edev->path = get_node_content(node);
- if (edev->path == NULL)
+ edev->others = parse_data_to_others(edev->others,
+ node,
+ 0,
+ BAD_CAST "devices");
+
+ edev->path = fetch_from_others(&edev->others,
+ -1,
+ (char *)node->name,
+ TYPE_NODE,
+ -1,
+ "devices");
+
+ if (edev->path == NULL) {
+ CU_DEBUG("no path");
goto err;
+ }
vdev->type = CIM_RES_TYPE_EMU;
--
1.7.1