mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-27 07:22:07 +03:00
openvz: Use virStringSplitCount instead of strtok_r
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@redhat.com>
This commit is contained in:
parent
b2ce5b027c
commit
fe0063685a
@ -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) < 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) < 0)
|
||||
goto error;
|
||||
|
||||
ret = 0;
|
||||
error:
|
||||
VIR_FREE(str);
|
||||
virStringFreeListCount(tmp, ntmp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user