[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH] fix virParseVersionString with linux 3.0



On 07/01/2011 04:40 AM, Scott Moser wrote:
> linux 3.0 has no micro version number, and that is causing problems
> for virParseVersionString.  The patch below should allow for:
>   major
>   major.minor
>   major.minor.micro
> 
> If major or minor are not present they just default to zero.
> We found this in Ubuntu (https://bugs.launchpad.net/bugs/802977)
> 
> diff --git a/src/util/util.c b/src/util/util.c
> index 463d2b8..01848a1 100644
> --- a/src/util/util.c
> +++ b/src/util/util.c
> @@ -1598,17 +1598,17 @@ virParseNumber(const char **str)
>  int
>  virParseVersionString(const char *str, unsigned long *version)
>  {
> -    unsigned int major, minor, micro;
> +    unsigned int major, minor=0, micro=0;

Formatting - we tend to put spaces around operators.

>      char *tmp;
> 
> -    if (virStrToLong_ui(str, &tmp, 10, &major) < 0 || *tmp != '.')
> +    if (virStrToLong_ui(str, &tmp, 10, &major) < 0)
>          return -1;
> 
> -    if (virStrToLong_ui(tmp + 1, &tmp, 10, &minor) < 0 || *tmp != '.')
> -        return -1;
> +    if ((*tmp == '.') && virStrToLong_ui(tmp + 1, &tmp, 10, &minor) < 0)
> +            return -1;

Spurious whitespace change in the return statements.

ACK (see my other reply in this thread) and pushed with that fixed, as
well as adding you to AUTHORS (let me know if you prefer any alternate
spellings).

-- 
Eric Blake   eblake redhat com    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]