Since I didn't have the original email to reply-to, here is the link:
https://www.redhat.com/archives/libvirt-cim/2012-December/msg00029.html
Should the following return 0 as well?:
+ if (ret != 1) {
+ CU_DEBUG("Failed to translate xml into struct domain");
+ }
Especially since get_dominfo_from_xml() will free and initialize dominfo to NULL.
You'll also need a "free(xml);" if you return. That's a memory leak.
What probably should be done is (btw: 8 space tabs are hard to do!)
ret = get_dominfo_from_xml(xml, dominfo);
if (ret == 0) {
CU_DEBUG("Failed to translate xml into struct domain");
goto out;
}
ret = virDomainGetAutostart(dom, &start);
if (ret != 0) {
CU_DEBUG("Failed to get dom autostart with libvirt API.");
goto out;
}
(*dominfo)->autostrt = start;
out:
free(xml);
return ret;
John