[libvirt] [PATCH 14/4] virsh: split out virsh-nwfilter.c

Laine Stump laine at laine.org
Tue Aug 21 04:53:45 UTC 2012


On 08/20/2012 06:56 PM, Eric Blake wrote:
> Yet another split file.
>
> * tools/virsh-network.h: New file.

Comment is incorrect - virsh-nwfilter.h

ACK.

> * tools/Makefile.am (virsh_SOURCES): Build it.
> * tools/virsh.c: Use new header.
> * tools/virsh-nwfilter.c: Likewise.
> ---
>  tools/Makefile.am      |  2 +-
>  tools/virsh-nwfilter.c | 31 +++++++++++++++++++++----------
>  tools/virsh-nwfilter.h | 42 ++++++++++++++++++++++++++++++++++++++++++
>  tools/virsh.c          |  2 +-
>  4 files changed, 65 insertions(+), 12 deletions(-)
>  create mode 100644 tools/virsh-nwfilter.h
>
> diff --git a/tools/Makefile.am b/tools/Makefile.am
> index 0b3e080..1a6b97b 100644
> --- a/tools/Makefile.am
> +++ b/tools/Makefile.am
> @@ -112,8 +112,8 @@ virsh_SOURCES =							\
>  		virsh-interface.c virsh-interface.h		\
>  		virsh-network.c virsh-network.h			\
>  		virsh-nodedev.c virsh-nodedev.h			\
> +		virsh-nwfilter.c virsh-nwfilter.h		\
>  		$(NULL)
> -#		virsh-nwfilter.c virsh-nwfilter.h		\
>  #		virsh-pool.c virsh-pool.h			\
>  #		virsh-secret.c virsh-secret.h			\
>  #		virsh-snapshot.c virsh-snapshot.h		\
> diff --git a/tools/virsh-nwfilter.c b/tools/virsh-nwfilter.c
> index a6ef233..5e8f540 100644
> --- a/tools/virsh-nwfilter.c
> +++ b/tools/virsh-nwfilter.c
> @@ -1,5 +1,5 @@
>  /*
> - * virsh-domain.c: Commands to manage network filters
> + * virsh-nwfilter.c: Commands to manage network filters
>   *
>   * Copyright (C) 2005, 2007-2012 Red Hat, Inc.
>   *
> @@ -23,18 +23,29 @@
>   *
>   */
>
> -/* default is lookup by Name and UUID */
> -#define vshCommandOptNWFilter(_ctl, _cmd, _name)                    \
> -    vshCommandOptNWFilterBy(_ctl, _cmd, _name,                      \
> -                            VSH_BYUUID|VSH_BYNAME)
> +#include <config.h>
> +#include "virsh-nwfilter.h"
>
> -static virNWFilterPtr
> +#include <libxml/parser.h>
> +#include <libxml/tree.h>
> +#include <libxml/xpath.h>
> +#include <libxml/xmlsave.h>
> +
> +#include "internal.h"
> +#include "buf.h"
> +#include "memory.h"
> +#include "util.h"
> +#include "xml.h"
> +
> +virNWFilterPtr
>  vshCommandOptNWFilterBy(vshControl *ctl, const vshCmd *cmd,
> -                        const char **name, int flag)
> +                        const char **name, unsigned int flags)
>  {
>      virNWFilterPtr nwfilter = NULL;
>      const char *n = NULL;
>      const char *optname = "nwfilter";
> +    virCheckFlags(VSH_BYUUID | VSH_BYNAME, NULL);
> +
>      if (!vshCmdHasOption(ctl, cmd, optname))
>          return NULL;
>
> @@ -48,13 +59,13 @@ vshCommandOptNWFilterBy(vshControl *ctl, const vshCmd *cmd,
>          *name = n;
>
>      /* try it by UUID */
> -    if ((flag & VSH_BYUUID) && strlen(n) == VIR_UUID_STRING_BUFLEN-1) {
> +    if ((flags & VSH_BYUUID) && strlen(n) == VIR_UUID_STRING_BUFLEN-1) {
>          vshDebug(ctl, VSH_ERR_DEBUG, "%s: <%s> trying as nwfilter UUID\n",
>                   cmd->def->name, optname);
>          nwfilter = virNWFilterLookupByUUIDString(ctl->conn, n);
>      }
>      /* try it by NAME */
> -    if (nwfilter == NULL && (flag & VSH_BYNAME)) {
> +    if (!nwfilter && (flags & VSH_BYNAME)) {
>          vshDebug(ctl, VSH_ERR_DEBUG, "%s: <%s> trying as nwfilter NAME\n",
>                   cmd->def->name, optname);
>          nwfilter = virNWFilterLookupByName(ctl->conn, n);
> @@ -309,7 +320,7 @@ cleanup:
>      return ret;
>  }
>
> -static const vshCmdDef nwfilterCmds[] = {
> +const vshCmdDef nwfilterCmds[] = {
>      {"nwfilter-define", cmdNWFilterDefine, opts_nwfilter_define,
>       info_nwfilter_define, 0},
>      {"nwfilter-dumpxml", cmdNWFilterDumpXML, opts_nwfilter_dumpxml,
> diff --git a/tools/virsh-nwfilter.h b/tools/virsh-nwfilter.h
> new file mode 100644
> index 0000000..74b4bcc
> --- /dev/null
> +++ b/tools/virsh-nwfilter.h
> @@ -0,0 +1,42 @@
> +/*
> + * virsh-nwfilter.h: Commands to manage network filters
> + *
> + * Copyright (C) 2005, 2007-2012 Red Hat, Inc.
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public
> + * License as published by the Free Software Foundation; either
> + * version 2.1 of the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library;  If not, see
> + * <http://www.gnu.org/licenses/>.
> + *
> + *  Daniel Veillard <veillard at redhat.com>
> + *  Karel Zak <kzak at redhat.com>
> + *  Daniel P. Berrange <berrange at redhat.com>
> + *
> + */
> +
> +#ifndef VIRSH_NWFILTER_H
> +# define VIRSH_NWFILTER_H
> +
> +# include "virsh.h"
> +
> +virNWFilterPtr
> +vshCommandOptNWFilterBy(vshControl *ctl, const vshCmd *cmd,
> +                        const char **name, unsigned int flags);
> +
> +/* default is lookup by Name and UUID */
> +#define vshCommandOptNWFilter(_ctl, _cmd, _name)                    \
> +    vshCommandOptNWFilterBy(_ctl, _cmd, _name,                      \
> +                            VSH_BYUUID|VSH_BYNAME)
> +
> +extern const vshCmdDef nwfilterCmds[];
> +
> +#endif /* VIRSH_NWFILTER_H */
> diff --git a/tools/virsh.c b/tools/virsh.c
> index 364ca25..ab88fcb 100644
> --- a/tools/virsh.c
> +++ b/tools/virsh.c
> @@ -80,6 +80,7 @@
>  #include "virsh-interface.h"
>  #include "virsh-network.h"
>  #include "virsh-nodedev.h"
> +#include "virsh-nwfilter.h"
>
>  static char *progname;
>
> @@ -2814,7 +2815,6 @@ vshParseArgv(vshControl *ctl, int argc, char **argv)
>      return true;
>  }
>
> -#include "virsh-nwfilter.c"
>  #include "virsh-pool.c"
>  #include "virsh-secret.c"
>  #include "virsh-snapshot.c"




More information about the libvir-list mailing list