[libvirt] [PATCH 2/2] esx: silence spurious compiler warning

Eric Blake eblake at redhat.com
Wed Jul 28 23:34:15 UTC 2010


* src/esx/esx_vi_types.c (_DESERIALIZE_NUMBER)
(ESX_VI__TEMPLATE__DESERIALIZE_NUMBER): Add range check to shut up
gcc 4.5.0 regarding long long.
---
 src/esx/esx_vi_types.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/esx/esx_vi_types.c b/src/esx/esx_vi_types.c
index 6e75995..5cf30b1 100644
--- a/src/esx/esx_vi_types.c
+++ b/src/esx/esx_vi_types.c
@@ -333,7 +333,8 @@
             goto cleanup;                                                     \
         }                                                                     \
                                                                               \
-        if (value < (_min) || value > (_max)) {                               \
+        if (((_min) != INT64_MIN && value < (_min))                           \
+            || ((_max) != INT64_MAX && value > (_max))) {                     \
             ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,                              \
                          "Value '%s' is not representable as "_xsdType,       \
                          (const char *)string);                               \
@@ -922,7 +923,8 @@ esxVI_AnyType_Deserialize(xmlNodePtr node, esxVI_AnyType **anyType)
                 goto failure;                                                 \
             }                                                                 \
                                                                               \
-            if (number < (_min) || number > (_max)) {                         \
+            if (((_min) != INT64_MIN && number < (_min))                      \
+                || ((_max) != INT64_MAX && number > (_max))) {                \
                 ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR,                          \
                              _("Value '%s' is out of %s range"),              \
                              (*anyType)->value, _xsdType);                    \
-- 
1.7.2




More information about the libvir-list mailing list