return -ENOMEM;
*m = (Machine) {
+ .class = class,
.leader = PIDREF_NULL,
.vsock_cid = VMADDR_CID_ANY,
};
return -ENOMEM;
}
- m->class = class;
-
*ret = TAKE_PTR(m);
return 0;
}
return 1;
}
-int manager_add_machine(Manager *m, const char *name, Machine **_machine) {
+int manager_add_machine(Manager *m, const char *name, Machine **ret) {
Machine *machine;
int r;
return r;
r = machine_link(m, machine);
- if (r < 0)
- return 0;
+ if (r < 0) {
+ machine_free(machine);
+ return r;
+ }
}
- if (_machine)
- *_machine = machine;
+ if (ret)
+ *ret = machine;
return 0;
}
VarlinkServer *varlink_machine_server;
};
-int manager_add_machine(Manager *m, const char *name, Machine **_machine);
+int manager_add_machine(Manager *m, const char *name, Machine **ret);
int manager_get_machine_by_pid(Manager *m, pid_t pid, Machine **machine);
extern const BusObjectImplementation manager_object;