NACK, this is completely wrong. I said the *XML parsing* was likely
to be wrong. This is the QEMU monitor code you've deleted.
Oh! Apologies for misunderstanding.
If I am not wrong (again :'() , is this the code you are talking
about? (inside virDomainChrSourceDefParseXML())
switch ((enum virDomainChrType) def->type) {
case VIR_DOMAIN_CHR_TYPE_PTY:
case VIR_DOMAIN_CHR_TYPE_DEV:
case VIR_DOMAIN_CHR_TYPE_FILE:
case VIR_DOMAIN_CHR_TYPE_PIPE:
case VIR_DOMAIN_CHR_TYPE_UNIX:
/* PTY path is only parsed from live xml. */
if (!path &&
(def->type != VIR_DOMAIN_CHR_TYPE_PTY ||
!(flags & VIR_DOMAIN_XML_INACTIVE)))
path = virXMLPropString(cur, "path");
break;