int **fdsret)
{
const char *fdopt;
- char **fdlist = NULL;
+ g_auto(GStrv) fdlist = NULL;
int *fds = NULL;
size_t nfds = 0;
size_t i;
fds[nfds - 1] = fd;
}
- g_strfreev(fdlist);
-
*fdsret = fds;
*nfdsret = nfds;
return 0;
error:
- g_strfreev(fdlist);
VIR_FREE(fds);
return -1;
}
const char *mode = NULL;
int flags = 0;
int rv;
- char **modes = NULL;
+ g_auto(GStrv) modes = NULL;
char **tmp;
if (vshCommandOptStringReq(ctl, cmd, "mode", &mode) < 0)
ret = true;
cleanup:
- g_strfreev(modes);
return ret;
}
const char *name;
const char *mode = NULL;
int flags = 0;
- char **modes = NULL;
+ g_auto(GStrv) modes = NULL;
char **tmp;
if (vshCommandOptStringReq(ctl, cmd, "mode", &mode) < 0)
ret = true;
cleanup:
- g_strfreev(modes);
return ret;
}
const char *from = NULL;
bool ret = false;
char *result = NULL;
- char **list = NULL;
+ g_auto(GStrv) list = NULL;
unsigned int flags = 0;
virshControl *priv = ctl->privData;
}
VIR_FREE(result);
- g_strfreev(list);
return ret;
}
vshFindNodeDevice(vshControl *ctl, const char *value)
{
virNodeDevicePtr dev = NULL;
- char **arr = NULL;
+ g_auto(GStrv) arr = NULL;
int narr;
virshControl *priv = ctl->privData;
}
cleanup:
- g_strfreev(arr);
return dev;
}
bool tree = vshCommandOptBool(cmd, "tree");
bool ret = true;
unsigned int flags = 0;
- char **caps = NULL;
+ g_auto(GStrv) caps = NULL;
int ncaps = 0;
struct virshNodeDeviceList *list = NULL;
int cap_type = -1;
}
cleanup:
- g_strfreev(caps);
virshNodeDeviceListFree(list);
return ret;
}
if (type) {
int poolType = -1;
- char **poolTypes = NULL;
+ g_auto(GStrv) poolTypes = NULL;
int npoolTypes = 0;
if ((npoolTypes = vshStringToArray(type, &poolTypes)) < 0)
for (i = 0; i < npoolTypes; i++) {
if ((poolType = virStoragePoolTypeFromString(poolTypes[i])) < 0) {
vshError(ctl, _("Invalid pool type '%s'"), poolTypes[i]);
- g_strfreev(poolTypes);
return false;
}
break;
}
}
- g_strfreev(poolTypes);
}
if (!(list = virshStoragePoolListCollect(ctl, flags)))