struct _virInterfaceObjFindMACData {
const char *matchStr;
bool error;
- int nmacs;
- int maxmacs;
- char **const macs;
+ int nnames;
+ int maxnames;
+ char **const names;
};
static int
if (data->error)
return 0;
- if (data->nmacs == data->maxmacs)
+ if (data->nnames == data->maxnames)
return 0;
virObjectLock(obj);
if (STRCASEEQ(obj->def->mac, data->matchStr)) {
- if (VIR_STRDUP(data->macs[data->nmacs], obj->def->name) < 0) {
+ if (VIR_STRDUP(data->names[data->nnames], obj->def->name) < 0) {
data->error = true;
goto cleanup;
}
- data->nmacs++;
+ data->nnames++;
}
cleanup:
{
struct _virInterfaceObjFindMACData data = { .matchStr = mac,
.error = false,
- .nmacs = 0,
- .maxmacs = maxmatches,
- .macs = matches };
+ .nnames = 0,
+ .maxnames = maxmatches,
+ .names = matches };
virObjectRWLockRead(interfaces);
virHashForEach(interfaces->objsName, virInterfaceObjListFindByMACStringCb,
if (data.error)
goto error;
- return data.nmacs;
+ return data.nnames;
error:
- while (--data.nmacs >= 0)
- VIR_FREE(data.macs[data.nmacs]);
+ while (--data.nnames >= 0)
+ VIR_FREE(data.names[data.nnames]);
return -1;
}