[libvirt] [PATCH] Include stdint.h in libvirt.h for INT64_MAX

Daniel Veillard veillard at redhat.com
Wed Mar 9 13:47:06 UTC 2011


On Wed, Mar 09, 2011 at 02:01:06PM +0100, Matthias Bolte wrote:
> 2011/3/9 Daniel Veillard <veillard at redhat.com>:
> > On Wed, Mar 09, 2011 at 12:18:44PM +0000, Daniel P. Berrange wrote:
> >> On Wed, Mar 09, 2011 at 10:49:34AM +0100, Matthias Bolte wrote:
> >> > I found this one while trying to compile ruby-libvirt.
> >> >
> >> > Matthias
> >>
> >> > From 6858713a7ea7fad961acbc4d4f3c0c53ede2302d Mon Sep 17 00:00:00 2001
> >> > From: Matthias Bolte <matthias.bolte at googlemail.com>
> >> > Date: Wed, 9 Mar 2011 10:42:49 +0100
> >> > Subject: [PATCH] Include stdint.h in libvirt.h for INT64_MAX
> >> >
> >> > VIR_DOMAIN_MEMORY_PARAM_UNLIMITED uses INT64_MAX but stdint.h
> >> > was not included. Therefore, libvirt.h was not selfcontained.
> >>
> >> I'm a little wary of doing this, because stdint.h isn't neccessary
> >> the most portable header file & while libvirt internally can rely
> >> on gnulib to fix problems, apps building against libvirt don't
> >> have that.
> >>
> >> I think it could be better to just define VIR_DOMAIN_MEMORY_PARAM_UNLIMITED
> >> directly to the right value, rather than in terms of INT64_MAX
> >
> >  Agreed we should try to limit the dependancies from public headers
> > to the minimum, in that case I'm fine hardcoding the value.
> >
> > Daniel
> >
> 
> Okay, so here's v2.
> 
> Matthias

> From f85a17d3493fc3c2c29da6460060338b4bbd73da Mon Sep 17 00:00:00 2001
> From: Matthias Bolte <matthias.bolte at googlemail.com>
> Date: Wed, 9 Mar 2011 10:42:49 +0100
> Subject: [PATCH] Don't use INT64_MAX in libvirt.h because it requires stdint.h
> 
> VIR_DOMAIN_MEMORY_PARAM_UNLIMITED uses INT64_MAX but stdint.h
> was not and should not be included. Therefore, libvirt.h was
> not self-contained.
> 
> Instead of including stdint.h specify the value directly.
> ---
>  include/libvirt/libvirt.h.in |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
> index 618b350..82e45d7 100644
> --- a/include/libvirt/libvirt.h.in
> +++ b/include/libvirt/libvirt.h.in
> @@ -705,7 +705,7 @@ typedef enum {
>   * Macro providing the virMemoryParameter value that indicates "unlimited"
>   */
>  
> -#define VIR_DOMAIN_MEMORY_PARAM_UNLIMITED (INT64_MAX >> 10)
> +#define VIR_DOMAIN_MEMORY_PARAM_UNLIMITED 9007199254740991 /* = INT64_MAX >> 10 */

  Hum shouldn't that be 9007199254740991UL to provide type information ?

Daniel

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




More information about the libvir-list mailing list