1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-08-24 09:49:59 +03:00

conf: move chardev log parsing to separate function

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
Pavel Hrdina
2017-08-18 17:19:26 +02:00
parent f2be5b38f0
commit 3672fc99f4

View File

@ -10917,6 +10917,28 @@ virDomainChrSourceDefParseProtocol(virDomainChrSourceDefPtr def,
} }
static int
virDomainChrSourceDefParseLog(virDomainChrSourceDefPtr def,
xmlNodePtr log)
{
char *append = NULL;
def->logfile = virXMLPropString(log, "file");
if ((append = virXMLPropString(log, "append")) &&
(def->logappend = virTristateSwitchTypeFromString(append)) <= 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Invalid append attribute value '%s'"),
append);
VIR_FREE(append);
return -1;
}
VIR_FREE(append);
return 0;
}
#define SERIAL_CHANNEL_NAME_CHARS \ #define SERIAL_CHANNEL_NAME_CHARS \
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-." "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-."
@ -10939,8 +10961,6 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDefPtr def,
char *connectHost = NULL; char *connectHost = NULL;
char *connectService = NULL; char *connectService = NULL;
char *path = NULL; char *path = NULL;
char *logfile = NULL;
char *logappend = NULL;
char *mode = NULL; char *mode = NULL;
char *channel = NULL; char *channel = NULL;
char *master = NULL; char *master = NULL;
@ -11061,8 +11081,8 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDefPtr def,
goto error; goto error;
} }
logParsed = true; logParsed = true;
logfile = virXMLPropString(cur, "file"); if (virDomainChrSourceDefParseLog(def, cur) < 0)
logappend = virXMLPropString(cur, "append"); goto error;
} else if (virXMLNodeNameEqual(cur, "protocol")) { } else if (virXMLNodeNameEqual(cur, "protocol")) {
if (protocolParsed) { if (protocolParsed) {
virReportError(VIR_ERR_XML_ERROR, "%s", virReportError(VIR_ERR_XML_ERROR, "%s",
@ -11236,16 +11256,6 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDefPtr def,
break; break;
} }
def->logfile = logfile;
logfile = NULL;
if (logappend != NULL &&
(def->logappend = virTristateSwitchTypeFromString(logappend)) <= 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Invalid append attribute value '%s'"), logappend);
goto error;
}
ret = 0; ret = 0;
cleanup: cleanup:
VIR_FREE(mode); VIR_FREE(mode);
@ -11256,8 +11266,6 @@ virDomainChrSourceDefParseXML(virDomainChrSourceDefPtr def,
VIR_FREE(path); VIR_FREE(path);
VIR_FREE(channel); VIR_FREE(channel);
VIR_FREE(append); VIR_FREE(append);
VIR_FREE(logappend);
VIR_FREE(logfile);
VIR_FREE(haveTLS); VIR_FREE(haveTLS);
VIR_FREE(tlsFromConfig); VIR_FREE(tlsFromConfig);