[libvirt] [PATCH 1/3] openvz: Use virStringSplitCount instead of strtok_r

Michal Privoznik mprivozn at redhat.com
Thu Feb 25 15:34:38 UTC 2016


On 25.02.2016 15:21, John Ferlan wrote:
> When parsing the barrier:limit values, use virStringSplitCount in order
> to split the pair and make the approriate checks to get the data.
> 
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
>  src/openvz/openvz_conf.c | 32 +++++++++++---------------------
>  1 file changed, 11 insertions(+), 21 deletions(-)
> 
> diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c
> index e32dd6f..cf0d67c 100644
> --- a/src/openvz/openvz_conf.c
> +++ b/src/openvz/openvz_conf.c
> @@ -133,35 +133,25 @@ openvzParseBarrierLimit(const char* value,
>                          unsigned long long *barrier,
>                          unsigned long long *limit)
>  {
> -    char *token;
> -    char *saveptr = NULL;
> -    char *str;
> +    char **tmp = NULL;
> +    size_t ntmp = 0;
>      int ret = -1;
>  
> -    if (VIR_STRDUP(str, value) < 0)
> +    if (!(tmp = virStringSplitCount(value, ":", 0, &ntmp)))
>          goto error;
>  
> -    token = strtok_r(str, ":", &saveptr);
> -    if (token == NULL) {
> +    if (ntmp != 2)
>          goto error;
> -    } else {
> -        if (barrier != NULL) {
> -            if (virStrToLong_ull(token, NULL, 10, barrier))
> -                goto error;
> -        }
> -    }
> -    token = strtok_r(NULL, ":", &saveptr);
> -    if (token == NULL) {
> +
> +    if (barrier && virStrToLong_ull(tmp[0], NULL, 10, barrier))

if (barrier && virStrToLong_ull() < 0)

>          goto error;
> -    } else {
> -        if (limit != NULL) {
> -            if (virStrToLong_ull(token, NULL, 10, limit))
> -                goto error;
> -        }
> -    }
> +
> +    if (limit && virStrToLong_ull(tmp[1], NULL, 10, limit))

same here.

> +        goto error;
> +
>      ret = 0;
>   error:
> -    VIR_FREE(str);
> +    virStringFreeListCount(tmp, ntmp);
>      return ret;
>  }
>  
> 

ACK

Michal




More information about the libvir-list mailing list