static int testCompareXMLToXMLFiles(const char *inxml, const char *outxml) { char *inXmlData = NULL; char *outXmlData = NULL; char *actual = NULL; int ret = -1; virSecretDefPtr secret = NULL; if (virtTestLoadFile(inxml, &inXmlData) < 0) goto fail; if (virtTestLoadFile(outxml, &outXmlData) < 0) goto fail; if (!(secret = virSecretDefParseString(inXmlData))) goto fail; if (!(actual = virSecretDefFormat(secret))) goto fail; if (STRNEQ(outXmlData, actual)) { virtTestDifference(stderr, outXmlData, actual); goto fail; } ret = 0; fail: VIR_FREE(inXmlData); VIR_FREE(outXmlData); VIR_FREE(actual); virSecretDefFree(secret); return ret; }
static int testCompareXMLToXMLFiles(const char *inxml, const char *outxml) { char *actual = NULL; int ret = -1; virSecretDefPtr secret = NULL; if (!(secret = virSecretDefParseFile(inxml))) goto fail; if (!(actual = virSecretDefFormat(secret))) goto fail; if (virTestCompareToFile(actual, outxml) < 0) goto fail; ret = 0; fail: VIR_FREE(actual); virSecretDefFree(secret); return ret; }
static char * secretGetXMLDesc(virSecretPtr secret, unsigned int flags) { char *ret = NULL; virSecretObjPtr obj; virSecretDefPtr def; virCheckFlags(0, NULL); if (!(obj = secretObjFromSecret(secret))) goto cleanup; def = virSecretObjGetDef(obj); if (virSecretGetXMLDescEnsureACL(secret->conn, def) < 0) goto cleanup; ret = virSecretDefFormat(def); cleanup: virSecretObjEndAPI(&obj); return ret; }