From 27a3fa715e8461d3e3ccc9cc9ee90fe8ea2a7f5a Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Tue, 11 Apr 2017 16:55:31 +0200 Subject: [PATCH] virsh-domain: Refactor cmdTTYConsole Use the new XML helpers and use virXPathString rather than hand-rolling the code. --- tools/virsh-domain.c | 24 +++++------------------- 1 file changed, 5 insertions(+), 19 deletions(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 2e7c039814..db8accfe43 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -11184,37 +11184,23 @@ static bool cmdTTYConsole(vshControl *ctl, const vshCmd *cmd) { xmlDocPtr xml = NULL; - xmlXPathObjectPtr obj = NULL; xmlXPathContextPtr ctxt = NULL; - virDomainPtr dom; bool ret = false; - char *doc; + char *tty = NULL; - if (!(dom = virshCommandOptDomain(ctl, cmd, NULL))) + if (virshDomainGetXML(ctl, cmd, 0, &xml, &ctxt) < 0) return false; - doc = virDomainGetXMLDesc(dom, 0); - if (!doc) + if (!(tty = virXPathString("string(/domain/devices/console/@tty)", ctxt))) goto cleanup; - xml = virXMLParseStringCtxt(doc, _("(domain_definition)"), &ctxt); - VIR_FREE(doc); - if (!xml) - goto cleanup; - - obj = xmlXPathEval(BAD_CAST "string(/domain/devices/console/@tty)", ctxt); - if (obj == NULL || obj->type != XPATH_STRING || - obj->stringval == NULL || obj->stringval[0] == 0) { - goto cleanup; - } - vshPrint(ctl, "%s\n", (const char *)obj->stringval); + vshPrint(ctl, "%s\n", tty); ret = true; cleanup: - xmlXPathFreeObject(obj); xmlXPathFreeContext(ctxt); xmlFreeDoc(xml); - virshDomainFree(dom); + VIR_FREE(tty); return ret; } -- GitLab