[libvirt] [PATCH v2 01/18] Improve virConf parse to handle LXC config format
Daniel P. Berrange
berrange at redhat.com
Tue Feb 4 12:13:31 UTC 2014
On Thu, Jan 30, 2014 at 10:55:49AM +0100, Cédric Bosdonnat wrote:
> virConf now honours a VIR_CONF_FLAG_LXC_FORMAT flag to handle LXC
> configuration files. The differences are that property names can
> contain '.' character and values are all strings without any bounding
> quotes.
>
> Provide a new virConfWalk function calling a handler on all non-comment
> values. This function will be used by the LXC conversion code to loop
> over LXC configuration lines.
>
> +/**
> + * virConfWalk:
> + * @conf: a configuration file handle
> + * @callback: the function to call to process each entry
> + * @data: obscure data passed to callback
> + *
> + * Walk over all entries of the configuration file and run the callback
> + * for each with entry name, value and the obscure data.
> + *
> + * Returns 0 on success, or -1 on failure.
> + */
> +int virConfWalk(virConfPtr conf,
> + virConfWalkCallback callback,
> + void *data)
Nit-pick: s/data/opaque/ for more common naming convention
here and in the header file decl later too.
> +{
> + virConfEntryPtr cur;
> +
> + if (!conf)
> + return 0;
> +
> + cur = conf->entries;
> + while (cur != NULL) {
> + if (cur->name && cur->value &&
> + callback(cur->name, cur->value, data) < 0)
> + return -1;
> + cur = cur->next;
> + }
> + return 0;
> +}
>
> /**
> * virConfWriteFile:
>
> +typedef int (*virConfWalkCallback)(const char* name,
> + virConfValuePtr value,
> + void *data);
s/data/opaque/
> +
> virConfPtr virConfNew (void);
> virConfPtr virConfReadFile (const char *filename, unsigned int flags);
> virConfPtr virConfReadMem (const char *memory,
> @@ -91,6 +98,9 @@ virConfValuePtr virConfGetValue (virConfPtr conf,
> int virConfSetValue (virConfPtr conf,
> const char *setting,
> virConfValuePtr value);
> +int virConfWalk(virConfPtr conf,
> + virConfWalkCallback callback,
> + void *data);
s/data/opaque/
ACK with the nit-pick fixed.
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list