]> xenbits.xensource.com Git - libvirt.git/commitdiff
build: avoid 32-bit failure on older gcc
authorEric Blake <eblake@redhat.com>
Thu, 20 Nov 2014 15:29:23 +0000 (08:29 -0700)
committerEric Blake <eblake@redhat.com>
Thu, 20 Nov 2014 15:32:30 +0000 (08:32 -0700)
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 <eblake@redhat.com>
tools/virsh-domain.c

index 7184784f20ca3e1b2c72392ced19b5604f25cd16..cf45a885180ac9723d3a2b141f248b58a81f6b42 100644 (file)
@@ -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);