diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c index c15b194bb5a5ba6478abb2005420b022aac1beae..f52a38198291c8893bcabc1f2f939eaa433c26ed 100644 --- a/src/qemu/qemu_monitor.c +++ b/src/qemu/qemu_monitor.c @@ -197,99 +197,6 @@ VIR_ENUM_IMPL(qemuMonitorDumpStatus, "none", "active", "completed", "failed", ); -char * -qemuMonitorEscapeArg(const char *in) -{ - int len = 0; - size_t i, j; - char *out; - - /* To pass through the QEMU monitor, we need to use escape - sequences: \r, \n, \", \\ - */ - - for (i = 0; in[i] != '\0'; i++) { - switch (in[i]) { - case '\r': - case '\n': - case '"': - case '\\': - len += 2; - break; - default: - len += 1; - break; - } - } - - if (VIR_ALLOC_N(out, len + 1) < 0) - return NULL; - - for (i = j = 0; in[i] != '\0'; i++) { - switch (in[i]) { - case '\r': - out[j++] = '\\'; - out[j++] = 'r'; - break; - case '\n': - out[j++] = '\\'; - out[j++] = 'n'; - break; - case '"': - case '\\': - out[j++] = '\\'; - out[j++] = in[i]; - break; - default: - out[j++] = in[i]; - break; - } - } - out[j] = '\0'; - - return out; -} - - -char * -qemuMonitorUnescapeArg(const char *in) -{ - size_t i, j; - char *out; - int len = strlen(in); - char next; - - if (VIR_ALLOC_N(out, len + 1) < 0) - return NULL; - - for (i = j = 0; i < len; ++i) { - next = in[i]; - if (in[i] == '\\') { - ++i; - switch (in[i]) { - case 'r': - next = '\r'; - break; - case 'n': - next = '\n'; - break; - case '"': - case '\\': - next = in[i]; - break; - default: - /* invalid input (including trailing '\' at end of in) */ - VIR_FREE(out); - return NULL; - } - } - out[j++] = next; - } - out[j] = '\0'; - - return out; -} - #if DEBUG_RAW_IO # include diff --git a/src/qemu/qemu_monitor.h b/src/qemu/qemu_monitor.h index 7385fafeea443ce1d7c9cc6c27cdbfead8ab6e56..af1ec565252236ba3769eb72ede3ff1cbdb99b04 100644 --- a/src/qemu/qemu_monitor.h +++ b/src/qemu/qemu_monitor.h @@ -382,9 +382,6 @@ struct _qemuMonitorCallbacks { qemuMonitorDomainRdmaGidStatusChangedCallback domainRdmaGidStatusChanged; }; -char *qemuMonitorEscapeArg(const char *in); -char *qemuMonitorUnescapeArg(const char *in); - qemuMonitorPtr qemuMonitorOpen(virDomainObjPtr vm, virDomainChrSourceDefPtr config, bool retry, diff --git a/tests/qemumonitortestutils.c b/tests/qemumonitortestutils.c index 4cc07b877200caa78a15da1b9901f94362539dd8..e9dff123f8177934d84ffb7fa1632989987e5d1d 100644 --- a/tests/qemumonitortestutils.c +++ b/tests/qemumonitortestutils.c @@ -187,7 +187,6 @@ int ATTRIBUTE_FMT_PRINTF(2, 3) qemuMonitorReportError(qemuMonitorTestPtr test, const char *errmsg, ...) { va_list msgargs; - VIR_AUTOFREE(char *) tmp = NULL; VIR_AUTOFREE(char *) msg = NULL; VIR_AUTOFREE(char *) jsonmsg = NULL; int ret = -1; @@ -197,13 +196,10 @@ qemuMonitorReportError(qemuMonitorTestPtr test, const char *errmsg, ...) if (virVasprintf(&msg, errmsg, msgargs) < 0) goto cleanup; - if (!(tmp = qemuMonitorEscapeArg(msg))) - goto cleanup; - if (virAsprintf(&jsonmsg, "{ \"error\": " " { \"desc\": \"%s\", " " \"class\": \"UnexpectedCommand\" } }", - tmp) < 0) + msg) < 0) goto cleanup; ret = qemuMonitorTestAddResponse(test, jsonmsg);