#include "memory.h"
#include "bridge.h"
#include "files.h"
-#include "intprops.h"
#define VIR_FROM_THIS VIR_FROM_OPENVZ
int maxarg, virDomainDefPtr vmdef)
{
int narg;
- int veid;
- int max_veid;
- char str_id[INT_BUFSIZE_BOUND(max_veid)];
- FILE *fp;
for (narg = 0; narg < maxarg; narg++)
args[narg] = NULL;
_("Container is not defined"));
return -1;
}
+
#define ADD_ARG(thisarg) \
do { \
if (narg >= maxarg) \
ADD_ARG_LIT("--quiet");
ADD_ARG_LIT("create");
- if ((fp = popen(VZLIST " -a -ovpsid -H 2>/dev/null", "r")) == NULL) {
- openvzError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("popen failed"));
- return -1;
- }
- max_veid = 0;
- while (!feof(fp)) {
- if (fscanf(fp, "%d\n", &veid) != 1) {
- if (feof(fp))
- break;
-
- openvzError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Failed to parse vzlist output"));
- goto cleanup;
- }
- if (veid > max_veid) {
- max_veid = veid;
- }
- }
- VIR_FORCE_FCLOSE(fp);
-
- if (max_veid == 0) {
- max_veid = 100;
- } else {
- max_veid++;
- }
-
- snprintf(str_id, sizeof(str_id), "%d", max_veid);
- ADD_ARG_LIT(str_id);
-
+ ADD_ARG_LIT(vmdef->name);
ADD_ARG_LIT("--name");
ADD_ARG_LIT(vmdef->name);
_("Could not put argument to %s"), VZCTL);
return -1;
-cleanup:
- VIR_FORCE_FCLOSE(fp);
- return -1;
-
#undef ADD_ARG
#undef ADD_ARG_LIT
}