On Fri, Nov 06, 2015 at 12:46:23PM +0100, Erik Skultety wrote:
Now that we introduced URI support in libvirt-admin, we should also support URI
aliases during connection establishment phase. After applying this patch,
virAdmConnectOpen will also support VIR_CONNECT_NO_ALIASES flag.
---
src/libvirt-admin.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/libvirt-admin.c b/src/libvirt-admin.c
index 599c30a..d9a20fc 100644
--- a/src/libvirt-admin.c
+++ b/src/libvirt-admin.c
@@ -196,6 +196,7 @@ virAdmConnectOpen(const char *uri, unsigned int flags)
{
    char *sock_path = NULL;
    const char *default_uri = NULL;
+    char *alias = NULL;
    virAdmConnectPtr conn = NULL;
    virConfPtr conf = NULL;

@@ -204,6 +205,7 @@ virAdmConnectOpen(const char *uri, unsigned int flags)

    VIR_DEBUG("flags=%x", flags);
    virResetLastError();
+    virCheckFlags(VIR_CONNECT_NO_ALIASES, NULL);

    if (!(conn = virAdmConnectNew()))
        goto error;
@@ -214,7 +216,11 @@ virAdmConnectOpen(const char *uri, unsigned int flags)
    if (!uri && !(default_uri = virAdmGetDefaultURI(conf)))
        goto error;

-    if (!(conn->uri = virURIParse(uri ? uri : default_uri)))
+    if ((!(flags & VIR_CONNECT_NO_ALIASES) &&
+         virURIResolveAlias(conf, uri ? uri : default_uri, &alias) < 0))

this should also be fixed (with what I mentioned in previous review).

+        goto error;
+
+    if (!(conn->uri = virURIParse(alias ? alias : (uri ? uri : default_uri))))

Also, if you modify virURIResolveAlias() to simply copy the string
over to @alias if the alias is not found, that would be pretty nice
syntax-sugar and spare our souls from this ugly thing =)

ACK with that fixed.

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to