]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
util: add helper API for getting URI parameters
authorDaniel P. Berrangé <berrange@redhat.com>
Fri, 20 Dec 2019 14:59:47 +0000 (14:59 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Mon, 27 Jan 2020 11:02:03 +0000 (11:02 +0000)
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/libvirt_private.syms
src/util/viruri.c
src/util/viruri.h

index 907640b684e605b2a43c1c8a3ca3e27bf756d58b..3608f73b4edfed60ac3ec1f0f9da4ba3b7825102 100644 (file)
@@ -3334,6 +3334,7 @@ virTypedParamsValidate;
 virURIFormat;
 virURIFormatParams;
 virURIFree;
+virURIGetParam;
 virURIParse;
 virURIResolveAlias;
 
index 1b848bd3369ab702343e4fc9cf58ebe29ffc1904..f16ea16ac1495d32870f23959e706aca8088053c 100644 (file)
@@ -376,3 +376,19 @@ virURIResolveAlias(virConfPtr conf, const char *alias, char **uri)
 
     return ret;
 }
+
+
+const char *
+virURIGetParam(virURIPtr uri, const char *name)
+{
+    size_t i;
+
+    for (i = 0; i < uri->paramsCount; i++) {
+        if (STREQ(uri->params[i].name, name))
+            return uri->params[i].value;
+    }
+
+    virReportError(VIR_ERR_INVALID_ARG,
+                   _("Missing URI parameter '%s'"), name);
+    return NULL;
+}
index b7f845f41f98e2fe2ad11f980faf7e8ea19bf755..1735620a2fc0e961269aa89a82b669c105d63d76 100644 (file)
@@ -62,4 +62,6 @@ void virURIFree(virURIPtr uri);
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virURI, virURIFree);
 int virURIResolveAlias(virConfPtr conf, const char *alias, char **uri);
 
+const char *virURIGetParam(virURIPtr uri, const char *name);
+
 #define VIR_URI_SERVER(uri) ((uri) && (uri)->server ? (uri)->server : "localhost")