char *p, *p2;
bool got_backend = false;
- d_config->vtpms = (libxl_device_vtpm *) realloc(d_config->vtpms,
- sizeof(libxl_device_vtpm) * (d_config->num_vtpms+1));
- vtpm = d_config->vtpms + d_config->num_vtpms;
- libxl_device_vtpm_init(vtpm);
- vtpm->devid = d_config->num_vtpms;
+ vtpm = ARRAY_EXTEND_INIT(d_config->vtpms,
+ d_config->num_vtpms,
+ libxl_device_vtpm_init);
p = strtok(buf2, ",");
if(p) {
exit(1);
}
free(buf2);
- d_config->num_vtpms++;
}
}
char *buf2 = strdup(buf);
char *p;
- d_config->nics = (libxl_device_nic *) realloc(d_config->nics, sizeof (libxl_device_nic) * (d_config->num_nics+1));
- nic = d_config->nics + d_config->num_nics;
- libxl_device_nic_init(nic);
- nic->devid = d_config->num_nics;
+ nic = ARRAY_EXTEND_INIT(d_config->nics,
+ d_config->num_nics,
+ libxl_device_nic_init);
set_default_nic_values(nic);
p = strtok(buf2, ",");
} while ((p = strtok(NULL, ",")) != NULL);
skip_nic:
free(buf2);
- d_config->num_nics++;
}
}