
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