]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: virqemu: introduce virQEMUBuildBufferEscape
authorPavel Hrdina <phrdina@redhat.com>
Wed, 22 Feb 2017 19:20:42 +0000 (20:20 +0100)
committerPavel Hrdina <phrdina@redhat.com>
Fri, 24 Feb 2017 11:58:48 +0000 (12:58 +0100)
This will eventually replace virQEMUBuildBufferEscapeComma, however
it's not possible right now.  Some parts of the code that uses the
old function needs to be refactored.

Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
src/libvirt_private.syms
src/util/virqemu.c
src/util/virqemu.h

index 28e595fe584b44a000ca98902ddeac25c5f670d0..dffc1f2a24b325da458a9ba150f02e52b5bc8f5c 100644 (file)
@@ -2298,6 +2298,7 @@ virProcessWait;
 
 
 # util/virqemu.h
+virQEMUBuildBufferEscape;
 virQEMUBuildBufferEscapeComma;
 virQEMUBuildCommandLineJSON;
 virQEMUBuildCommandLineJSONArrayBitmap;
index 2e9e65f9efb06b6653d2608ec333cbb980d6001a..f10b356781ef60f5e4c58f68645a5478fe797460 100644 (file)
@@ -299,6 +299,23 @@ virQEMUBuildBufferEscapeComma(virBufferPtr buf, const char *str)
 }
 
 
+/**
+ * virQEMUBuildBufferEscape:
+ * @buf: buffer to append the escaped string
+ * @str: the string to escape
+ *
+ * Some characters passed as values on the QEMU command line must be escaped.
+ *
+ *  - ',' must by escaped by ','
+ *  - '=' must by escaped by '\'
+ */
+void
+virQEMUBuildBufferEscape(virBufferPtr buf, const char *str)
+{
+    virBufferEscapeN(buf, "%s", str, ',', ",", '\\', "=", NULL);
+}
+
+
 /**
  * virQEMUBuildLuksOpts:
  * @buf: buffer to build the string into
index 539d62ab14ca0632a21a30f89931a504abfae10f..10aeb67f4ecc197acda4900c025e4cd4210d1d8a 100644 (file)
@@ -50,6 +50,7 @@ char *virQEMUBuildObjectCommandlineFromJSON(const char *type,
 char *virQEMUBuildDriveCommandlineFromJSON(virJSONValuePtr src);
 
 void virQEMUBuildBufferEscapeComma(virBufferPtr buf, const char *str);
+void virQEMUBuildBufferEscape(virBufferPtr buf, const char *str);
 void virQEMUBuildLuksOpts(virBufferPtr buf,
                           virStorageEncryptionInfoDefPtr enc,
                           const char *alias)