[libvirt] [PATCHv2] storage_encryption: silence clang warning
Dave Allan
dallan at redhat.com
Mon May 10 18:37:37 UTC 2010
On Mon, May 10, 2010 at 11:58:26AM -0600, Eric Blake wrote:
> For printf("%*s",foo,bar), clang complains if foo is not int:
>
> warning: field width should have type 'int', but argument has
> type 'unsigned int' [-Wformat]
>
> * src/conf/storage_encryption_conf.c
> (virStorageEncryptionSecretFormat, virStorageEncryptionFormat):
> Use correct type.
> * src/conf/storage_encryption_conf.h (virStorageEncryptionFormat):
> Likewise.
> ---
>
> > > + virBufferVSprintf(buf, "%*s</encryption>\n", (int) indent, "");
> > >
> > What's the need for the cast if the function parameter is changed to
> > int instead of unsigned int? The two callers pass in hardcoded
> > values, so I'd think just changing the param would silence the
> > warning, wouldn't it?
>
> Sure - it's just one more file to touch. Change from v1: update
> the .h file to use fewer casts.
>
> src/conf/storage_encryption_conf.c | 9 +++++----
> src/conf/storage_encryption_conf.h | 4 ++--
> 2 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/src/conf/storage_encryption_conf.c b/src/conf/storage_encryption_conf.c
> index 7a64050..7bbdbc1 100644
> --- a/src/conf/storage_encryption_conf.c
> +++ b/src/conf/storage_encryption_conf.c
> @@ -1,7 +1,7 @@
> /*
> * storage_encryption_conf.c: volume encryption information
> *
> - * Copyright (C) 2009 Red Hat, Inc.
> + * Copyright (C) 2009-2010 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
> @@ -216,7 +216,7 @@ virStorageEncryptionParseNode(xmlDocPtr xml, xmlNodePtr root)
> static int
> virStorageEncryptionSecretFormat(virBufferPtr buf,
> virStorageEncryptionSecretPtr secret,
> - unsigned int indent)
> + int indent)
> {
> const char *type;
> char uuidstr[VIR_UUID_STRING_BUFLEN];
> @@ -237,7 +237,7 @@ virStorageEncryptionSecretFormat(virBufferPtr buf,
> int
> virStorageEncryptionFormat(virBufferPtr buf,
> virStorageEncryptionPtr enc,
> - unsigned int indent)
> + int indent)
> {
> const char *format;
> size_t i;
> @@ -252,7 +252,8 @@ virStorageEncryptionFormat(virBufferPtr buf,
> indent, "", format);
>
> for (i = 0; i < enc->nsecrets; i++) {
> - if (virStorageEncryptionSecretFormat(buf, enc->secrets[i], indent + 2) < 0)
> + if (virStorageEncryptionSecretFormat(buf, enc->secrets[i],
> + indent + 2) < 0)
> return -1;
> }
>
> diff --git a/src/conf/storage_encryption_conf.h b/src/conf/storage_encryption_conf.h
> index 8309255..c722cc6 100644
> --- a/src/conf/storage_encryption_conf.h
> +++ b/src/conf/storage_encryption_conf.h
> @@ -1,7 +1,7 @@
> /*
> * storage_encryption_conf.h: volume encryption information
> *
> - * Copyright (C) 2009 Red Hat, Inc.
> + * Copyright (C) 2009-2010 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
> @@ -68,7 +68,7 @@ virStorageEncryptionPtr virStorageEncryptionParseNode(xmlDocPtr xml,
> xmlNodePtr root);
> int virStorageEncryptionFormat(virBufferPtr buf,
> virStorageEncryptionPtr enc,
> - unsigned int indent);
> + int indent);
>
> /* A helper for VIR_STORAGE_ENCRYPTION_FORMAT_QCOW */
> enum {
> --
> 1.7.0.1
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
ACK
Dave
More information about the libvir-list
mailing list