Re: [PATCH] storage_encryption: silence clang warning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 07, 2010 at 05:10:12PM -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.c |   11 ++++++-----
>  1 files changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/src/conf/storage_encryption_conf.c b/src/conf/storage_encryption_conf.c
> index 7a64050..8f29492 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];
> @@ -249,14 +249,15 @@ virStorageEncryptionFormat(virBufferPtr buf,
>          return -1;
>      }
>      virBufferVSprintf(buf, "%*s<encryption format='%s'>\n",
> -                      indent, "", format);
> +                      (int) 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;
>      }
> 
> -    virBufferVSprintf(buf, "%*s</encryption>\n", indent, "");
> +    virBufferVSprintf(buf, "%*s</encryption>\n", (int) indent, "");
> 
>      return 0;
>  }
> -- 
> 1.6.6.1
> 
> --
> libvir-list mailing list
> libvir-list@xxxxxxxxxx
> https://www.redhat.com/mailman/listinfo/libvir-list

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?

Dave

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]