virAdmConnectOpen(const char *name, unsigned int flags)
{
char *sock_path = NULL;
+ char *alias = NULL;
virAdmConnectPtr conn = NULL;
virConfPtr conf = NULL;
VIR_DEBUG("flags=%x", flags);
virResetLastError();
+ virCheckFlags(VIR_CONNECT_NO_ALIASES, NULL);
if (!(conn = virAdmConnectNew()))
goto error;
if (!name && !(name = virAdmGetDefaultURI(conf)))
goto error;
- if (!(conn->uri = virURIParse(name)))
+ if ((!(flags & VIR_CONNECT_NO_ALIASES) &&
+ virURIResolveAlias(conf, name, &alias) < 0))
+ goto error;
+
+ if (!(conn->uri = virURIParse(alias ? alias : name)))
goto error;
if (!(sock_path = getSocketPath(conn->uri)))
cleanup:
VIR_FREE(sock_path);
+ VIR_FREE(alias);
virConfFree(conf);
return conn;