[libvirt] [PATCH v7 3/6] hyperv: add hypervInvokeMethod

Andrea Bolognani abologna at redhat.com
Tue Jul 18 16:54:28 UTC 2017


On Tue, 2017-06-27 at 15:13 -0400, Sri Ramanujam wrote:
> This commit adds support for invoking methods on remote objects
> via hypervInvokeMethod.
> ---
>  src/hyperv/hyperv_wmi.c | 590 ++++++++++++++++++++++++++++++++++++++++++++++++
>  src/hyperv/hyperv_wmi.h |   8 +-
>  src/hyperv/openwsman.h  |   4 +
>  3 files changed, 600 insertions(+), 2 deletions(-)
> 
> diff --git a/src/hyperv/hyperv_wmi.c b/src/hyperv/hyperv_wmi.c
> index 2732db3..f944b14 100644
> --- a/src/hyperv/hyperv_wmi.c
> +++ b/src/hyperv/hyperv_wmi.c
[...]
> +static int
> +hypervSerializeEprParam(hypervParamPtr p, hypervPrivate *priv,
> +        const char *resourceUri, WsXmlDocH doc, WsXmlNodeH *methodNode)
> +{
> +    int result = -1;
> +    WsXmlNodeH xmlNodeParam = NULL,
> +               xmlNodeTemp = NULL,
> +               xmlNodeAddr = NULL,
> +               xmlNodeRef = NULL;
> +    xmlNodePtr xmlNodeAddrPtr = NULL,
> +               xmlNodeRefPtr = NULL;
[...]
> +    if (!(xmlNodeAddrPtr = xmlDocCopyNode((xmlNodePtr) xmlNodeAddr, docPtr, 1))) {

Here you're casting a WsXmlNodeH to a xmlNodePtr, and clang
doesn't like it one bit:

  hyperv/hyperv_wmi.c:576:43: error:
    cast from 'WsXmlNodeH' (aka 'struct __WsXmlNode *')
    to 'xmlNodePtr' (aka 'struct _xmlNode *')
    increases required alignment from 4 to 8
    [-Werror,-Wcast-align]

Any idea how to unbreak it?

-- 
Andrea Bolognani / Red Hat / Virtualization




More information about the libvir-list mailing list