
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;