util: add helper API for getting URI parameters

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2019-12-20 14:59:47 +00:00
parent dee2218bc8
commit fd2a9dda87
3 changed files with 19 additions and 0 deletions

View File

@ -3334,6 +3334,7 @@ virTypedParamsValidate;
virURIFormat;
virURIFormatParams;
virURIFree;
virURIGetParam;
virURIParse;
virURIResolveAlias;

View 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;
}

View 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")