
On Thu, Nov 26, 2015 at 05:52:11PM +0000, Daniel P. Berrange wrote:
On Thu, Nov 26, 2015 at 06:46:13PM +0100, Guido Günther wrote:
Otherwise we fail on 32bit with:
CC logging/virtlogd-log_daemon_dispatch.o logging/log_daemon_dispatch.c: In function 'virLogManagerProtocolDispatchDomainReadLogFile': logging/log_daemon_dispatch.c:120:9: error: format '%zu' expects argument of type 'size_t', but argument 7 has type 'uint64_t' [-Werror=format] --- src/logging/log_daemon_dispatch.c | 3 ++- tests/virrotatingfiletest.c | 4 +++- 2 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/logging/log_daemon_dispatch.c b/src/logging/log_daemon_dispatch.c index 269255a..7391a6f 100644 --- a/src/logging/log_daemon_dispatch.c +++ b/src/logging/log_daemon_dispatch.c @@ -21,6 +21,7 @@ */
#include <config.h> +#include <inttypes.h>
#include "rpc/virnetserver.h" #include "rpc/virnetserverclient.h" @@ -118,7 +119,7 @@ virLogManagerProtocolDispatchDomainReadLogFile(virNetServerPtr server ATTRIBUTE_
if (args->maxlen > VIR_LOG_MANAGER_PROTOCOL_STRING_MAX) { virReportError(VIR_ERR_INTERNAL_ERROR, - _("Requested data len %zu is larger than maximum %d"), + _("Requested data len %"PRIu64" is larger than maximum %d"),
We don't ever use PRIu64 in libvirt - gnulib guarantees that %llu and %lld are always used for formatting 64bit ints.
But with %llu I get on 64bit: make[3]: Entering directory '/var/scratch/src/libvirt/upstream/libvirt/src' CC logging/virtlogd-log_daemon_dispatch.o logging/log_daemon_dispatch.c: In function 'virLogManagerProtocolDispatchDomainReadLogFile': logging/log_daemon_dispatch.c:120:8: error: format '%llu' expects argument of type 'long long unsigned int', but argument 7 has type 'uint64_t {aka long unsigned int}' [-Werror=format=] virReportError(VIR_ERR_INTERNAL_ERROR, ^ cc1: all warnings being treated as errors Puzzled, -- Guido