mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-15 05:26:12 +00:00
cgfsng: lxc_cpumask_to_cpulist()
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
This commit is contained in:
parent
d5d468f6f0
commit
414c6719d5
@ -448,24 +448,31 @@ static uint32_t *lxc_cpumask(char *buf, size_t nbits)
|
|||||||
/* Turn cpumask into simple, comma-separated cpulist. */
|
/* Turn cpumask into simple, comma-separated cpulist. */
|
||||||
static char *lxc_cpumask_to_cpulist(uint32_t *bitarr, size_t nbits)
|
static char *lxc_cpumask_to_cpulist(uint32_t *bitarr, size_t nbits)
|
||||||
{
|
{
|
||||||
size_t i;
|
|
||||||
int ret;
|
int ret;
|
||||||
char numstr[LXC_NUMSTRLEN64] = {0};
|
size_t i;
|
||||||
char **cpulist = NULL;
|
char **cpulist = NULL;
|
||||||
|
char numstr[LXC_NUMSTRLEN64] = {0};
|
||||||
|
|
||||||
for (i = 0; i <= nbits; i++) {
|
for (i = 0; i <= nbits; i++) {
|
||||||
if (is_set(i, bitarr)) {
|
if (!is_set(i, bitarr))
|
||||||
|
continue;
|
||||||
|
|
||||||
ret = snprintf(numstr, LXC_NUMSTRLEN64, "%zu", i);
|
ret = snprintf(numstr, LXC_NUMSTRLEN64, "%zu", i);
|
||||||
if (ret < 0 || (size_t)ret >= LXC_NUMSTRLEN64) {
|
if (ret < 0 || (size_t)ret >= LXC_NUMSTRLEN64) {
|
||||||
lxc_free_array((void **)cpulist, free);
|
lxc_free_array((void **)cpulist, free);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (lxc_append_string(&cpulist, numstr) < 0) {
|
|
||||||
|
ret = lxc_append_string(&cpulist, numstr);
|
||||||
|
if (ret < 0) {
|
||||||
lxc_free_array((void **)cpulist, free);
|
lxc_free_array((void **)cpulist, free);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
if (!cpulist)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
return lxc_string_join(",", (const char **)cpulist, false);
|
return lxc_string_join(",", (const char **)cpulist, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user