On 10.09.2012 19:03, Martin Kletzander wrote:
On 09/10/2012 03:58 PM, Michal Privoznik wrote:
> Let users add NICs to domains.
> ---
> examples/virtxml.c | 78 ++++++++++++++++++++++++++
> libvirt-designer/libvirt-designer-domain.c | 83 ++++++++++++++++++++++++++++
> libvirt-designer/libvirt-designer-domain.h | 3 +
> libvirt-designer/libvirt-designer.sym | 1 +
> 4 files changed, 165 insertions(+), 0 deletions(-)
>
> diff --git a/examples/virtxml.c b/examples/virtxml.c
> index 20e3f3c..df83f57 100644
> --- a/examples/virtxml.c
> +++ b/examples/virtxml.c
> @@ -35,6 +35,7 @@
> #include <unistd.h>
>
> GList *disk_str_list = NULL;
> +GList *iface_str_list = NULL;
>
> #define print_error(...) \
> print_error_impl(__FUNCTION__, __LINE__, __VA_ARGS__)
> @@ -215,6 +216,79 @@ add_disk_str(const gchar *option_name,
> return TRUE;
> }
>
> +static void
> +add_iface(gpointer data,
> + gpointer user_data)
> +{
> + GVirDesignerDomain *domain = (GVirDesignerDomain *) user_data;
> + char *network = (char *) data;
> + char *param = NULL;
> + GVirConfigDomainInterface *iface = NULL;
> + GError *error = NULL;
> +
> + param = strchr(network, ',');
> + if (param) {
> + *param = '\0';
> + param++;
> + }
> +
> + iface = gvir_designer_domain_add_interface_network(domain, network,
&error);
> + if (error) {
> + print_error("%s", error->message);
> + exit(EXIT_FAILURE);
> + }
> +
> + while (param && *param) {
> + char *key = param;
> + char *val;
> + GVirConfigDomainInterfaceLinkState link;
> +
> + /* move to next token */
> + param = strchr(param, ',');
> + if (param) {
> + *param = '\0';
> + param++;
> + }
> +
> + /* parse token */
> + val = strchr(key, '=');
> + if (!val) {
> + print_error("Invalid format: %s", key);
> + exit(EXIT_FAILURE);
> + }
> +
> + *val = '\0';
> + val++;
> +
> + if (!strcmp(key, "mac")) {
> + gvir_config_domain_interface_set_mac(iface, val);
> + } else if (!strcmp(key, "link")) {
> + if (!strcmp(val, "up")) {
> + link = GVIR_CONFIG_DOMAIN_INTERFACE_LINK_STATE_UP;
> + } else if (!strcmp(val, "down")) {
Change those 4 !strcmp to g_str_equal.
[...]
ACK with that fixed.
Martin
Thanks for review. I've fixed all the nits and pushed whole set.
Michal