On Wed, Jul 28, 2010 at 05:34:15PM -0600, Eric Blake wrote:
> * 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

  Way harder to understand than the original, IMHO
I defer to Matthias for this :-)

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
[email protected]  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/

--
libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to