viruri: Introduce virURIParamsSetIgnore()

The aim of this helper is to manipulate the .ignore value for
given list of parameters. For instance:

  virURIParamsSetIgnore(uri, false, {"mode", "socket", NULL});

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Michal Privoznik 2023-02-03 15:10:23 +01:00
parent c71c159248
commit cdb1aa996a
3 changed files with 21 additions and 0 deletions

View File

@ -3560,6 +3560,7 @@ virURIFormat;
virURIFormatParams;
virURIFree;
virURIGetParam;
virURIParamsSetIgnore;
virURIParse;
virURIResolveAlias;

View File

@ -422,3 +422,21 @@ virURICheckUnixSocket(virURI *uri)
return false;
}
void
virURIParamsSetIgnore(virURI *uri,
bool ignore,
const char *names[])
{
size_t i;
for (i = 0; i < uri->paramsCount; i++) {
size_t j;
for (j = 0; names[j]; j++) {
if (STRCASEEQ(uri->params[i].name, names[j]))
uri->params[i].ignore = ignore;
}
}
}

View File

@ -61,4 +61,6 @@ const char *virURIGetParam(virURI *uri, const char *name);
bool virURICheckUnixSocket(virURI *uri);
void virURIParamsSetIgnore(virURI *uri, bool ignore, const char *names[]);
#define VIR_URI_SERVER(uri) ((uri) && (uri)->server ? (uri)->server : "localhost")