From 0d5168392f0f1c65f8ad60b9533371eca89b5940 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Thu, 20 Nov 2014 08:29:23 -0700 Subject: [PATCH] build: avoid 32-bit failure on older gcc On 32-bit platforms with old gcc (hello RHEL 5 gcc 4.1.2), the build fails with: virsh-domain.c: In function 'cmdBlockCopy': virsh-domain.c:2172: warning: comparison is always false due to limited range of data type Adjust the code to silence the warning. * tools/virsh-domain.c (cmdBlockCopy): Pacify RHEL 5 gcc. Signed-off-by: Eric Blake --- tools/virsh-domain.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index 7184784f20..cf45a88518 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -2169,7 +2169,8 @@ cmdBlockCopy(vshControl *ctl, const vshCmd *cmd) if (bandwidth) { /* bandwidth is ulong MiB/s, but the typed parameter is * ullong bytes/s; make sure we don't overflow */ - if (bandwidth + 0ULL > ULLONG_MAX >> 20) { + unsigned long long limit = MIN(ULONG_MAX, ULLONG_MAX >> 20); + if (bandwidth > limit) { virReportError(VIR_ERR_OVERFLOW, _("bandwidth must be less than %llu"), ULLONG_MAX >> 20);