]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: monitor: Remove HMP command (un)escaping infrastructure
authorPeter Krempa <pkrempa@redhat.com>
Thu, 19 Sep 2019 15:46:12 +0000 (17:46 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 20 Sep 2019 06:41:50 +0000 (08:41 +0200)
We don't need to escape the commands any more since we use QMP
passthrough, which means we can delete the functions.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
src/qemu/qemu_monitor.c
src/qemu/qemu_monitor.h
tests/qemumonitortestutils.c

index c15b194bb5a5ba6478abb2005420b022aac1beae..f52a38198291c8893bcabc1f2f939eaa433c26ed 100644 (file)
@@ -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 <c-ctype.h>
index 7385fafeea443ce1d7c9cc6c27cdbfead8ab6e56..af1ec565252236ba3769eb72ede3ff1cbdb99b04 100644 (file)
@@ -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,
index 4cc07b877200caa78a15da1b9901f94362539dd8..e9dff123f8177934d84ffb7fa1632989987e5d1d 100644 (file)
@@ -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);