On 04/30/2016 09:32 AM, John Ferlan wrote:
On 04/24/2016 07:22 PM, Cole Robinson wrote:
> This matches the pattern used for network object APIs, and we want
> configDir in LoadConfig for upcoming patches
> ---
> src/conf/nwfilter_conf.c | 45 ++++++++++++++++++++++++---------------------
> 1 file changed, 24 insertions(+), 21 deletions(-)
>
> diff --git a/src/conf/nwfilter_conf.c b/src/conf/nwfilter_conf.c
> index d02bbff..d8e83f0 100644
> --- a/src/conf/nwfilter_conf.c
> +++ b/src/conf/nwfilter_conf.c
> @@ -3156,30 +3156,39 @@ virNWFilterObjAssignDef(virNWFilterObjListPtr nwfilters,
>
>
> static virNWFilterObjPtr
> -virNWFilterObjLoad(virNWFilterObjListPtr nwfilters,
> - const char *file,
> - const char *path)
> +virNWFilterLoadConfig(virNWFilterObjListPtr nwfilters,
> + const char *configDir,
> + const char *name)
> {
> - virNWFilterDefPtr def;
> + virNWFilterDefPtr def = NULL;
> virNWFilterObjPtr nwfilter;
> + char *configFile = NULL;
>
> - if (!(def = virNWFilterDefParseFile(path)))
> - return NULL;
> + if (!(configFile = virFileBuildPath(configDir, name, ".xml")))
> + goto error;
>
> - if (!virFileMatchesNameSuffix(file, def->name, ".xml")) {
> + if (!(def = virNWFilterDefParseFile(configFile)))
> + goto error;
> +
> + if (STRNEQ(name, def->name)) {
> virReportError(VIR_ERR_XML_ERROR,
> - _("network filter config filename '%s' does not
match name '%s'"),
> - path, def->name);
> - virNWFilterDefFree(def);
> - return NULL;
> + _("network filter config filename '%s' "
> + "does not match name '%s'"),
> + configFile, def->name);
> + goto error;
> }
>
> if (!(nwfilter = virNWFilterObjAssignDef(nwfilters, def))) {
> - virNWFilterDefFree(def);
> - return NULL;
> + goto error;
> }
Make sure you run 'syntax-check'... A window I had used for compiles was
obscured and I see the syntax-check fails because of the { } and one
line goto error.
Yeah I just noticed that after your first review :/ Not sure how I keep
missing syntax-check ...
I've queued this series for after the release (with that bit fixed), thanks
- Cole