login: use free_and_replace() and TAKE_PTR()

This commit is contained in:
Yu Watanabe 2018-08-07 10:10:12 +09:00
parent 73e47c42ab
commit fb2367edd9
2 changed files with 13 additions and 24 deletions

View File

@ -547,7 +547,8 @@ static int session_start_scope(Session *s, sd_bus_message *properties) {
if (!s->scope) {
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
char *scope, *job = NULL;
_cleanup_free_ char *scope = NULL;
char *job = NULL;
const char *description;
scope = strjoin("session-", s->id, ".scope");
@ -567,16 +568,12 @@ static int session_start_scope(Session *s, sd_bus_message *properties) {
properties,
&error,
&job);
if (r < 0) {
log_error_errno(r, "Failed to start session scope %s: %s", scope, bus_error_message(&error, r));
free(scope);
return r;
} else {
s->scope = scope;
if (r < 0)
return log_error_errno(r, "Failed to start session scope %s: %s", scope, bus_error_message(&error, r));
free(s->scope_job);
s->scope_job = job;
}
s->scope = TAKE_PTR(scope);
free_and_replace(s->scope_job, job);
}
if (s->scope)

View File

@ -391,15 +391,10 @@ static int user_stop_slice(User *u) {
assert(u);
r = manager_stop_unit(u->manager, u->slice, &error, &job);
if (r < 0) {
log_error("Failed to stop user slice: %s", bus_error_message(&error, r));
return r;
}
if (r < 0)
return log_error_errno(r, "Failed to stop user slice: %s", bus_error_message(&error, r));
free(u->slice_job);
u->slice_job = job;
return r;
return free_and_replace(u->slice_job, job);
}
static int user_stop_service(User *u) {
@ -410,13 +405,10 @@ static int user_stop_service(User *u) {
assert(u);
r = manager_stop_unit(u->manager, u->service, &error, &job);
if (r < 0) {
log_error("Failed to stop user service: %s", bus_error_message(&error, r));
return r;
}
if (r < 0)
return log_error_errno(r, "Failed to stop user service: %s", bus_error_message(&error, r));
free_and_replace(u->service_job, job);
return r;
return free_and_replace(u->service_job, job);
}
int user_stop(User *u, bool force) {