[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