]> xenbits.xensource.com Git - libvirt.git/commitdiff
virshGetOneDisplay: Refactor formatting of URI params
authorPeter Krempa <pkrempa@redhat.com>
Mon, 28 Feb 2022 16:59:40 +0000 (17:59 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 3 Mar 2022 10:06:56 +0000 (11:06 +0100)
Unconditionally format the start of the query ('?') and make delimiters
('&') part of the arguments. At the end we can trim off 1 char from the
end of the buffer unconditionally.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
tools/virsh-domain.c

index d0f78798b50b89c0d97301178004b385df594d20..ca1145428fb9cc31bf3ba6d24534715c0e39d398 100644 (file)
@@ -11678,7 +11678,6 @@ virshGetOneDisplay(vshControl *ctl,
     g_autofree char *type_conn = NULL;
     g_autofree char *sockpath = NULL;
     g_autofree char *passwd = NULL;
-    bool params = false;
 
     /* Attempt to get the port number for the current graphics scheme */
     xpathPort = g_strdup_printf(xpath_fmt, scheme, "@port");
@@ -11781,22 +11780,20 @@ virshGetOneDisplay(vshControl *ctl,
         virBufferAsprintf(&buf, ":%d", port);
     }
 
+    /* format the parameters part of the uri */
+    virBufferAddLit(&buf, "?");
+
     /* TLS Port */
     if (tls_port) {
-        virBufferAsprintf(&buf,
-                          "?tls-port=%d",
-                          tls_port);
-        params = true;
+        virBufferAsprintf(&buf, "tls-port=%d&", tls_port);
     }
 
     if (STREQ(scheme, "spice") && passwd) {
-        virBufferAsprintf(&buf,
-                          "%spassword=%s",
-                          params ? "&" : "?",
-                          passwd);
-        params = true;
+        virBufferAsprintf(&buf, "password=%s&", passwd);
     }
 
+    virBufferTrimLen(&buf, 1);
+
     return virBufferContentAndReset(&buf);
 }