Merge pull request #31594 from YHNdnzj/logind-seat-basename

logind: several coding style cleanups
This commit is contained in:
Luca Boccassi
2024-03-02 22:07:22 +00:00
committed by GitHub
8 changed files with 30 additions and 34 deletions
+3 -3
View File
@@ -118,7 +118,7 @@ int manager_add_seat(Manager *m, const char *id, Seat **ret_seat) {
s = hashmap_get(m->seats, id);
if (!s) {
r = seat_new(&s, m, id);
r = seat_new(m, id, &s);
if (r < 0)
return r;
}
@@ -138,7 +138,7 @@ int manager_add_session(Manager *m, const char *id, Session **ret_session) {
s = hashmap_get(m->sessions, id);
if (!s) {
r = session_new(&s, m, id);
r = session_new(m, id, &s);
if (r < 0)
return r;
}
@@ -162,7 +162,7 @@ int manager_add_user(
u = hashmap_get(m->users, UID_TO_PTR(ur->uid));
if (!u) {
r = user_new(&u, m, ur);
r = user_new(m, ur, &u);
if (r < 0)
return r;
}
+1 -1
View File
@@ -16,7 +16,7 @@ struct Device {
dual_timestamp timestamp;
LIST_FIELDS(struct Device, devices);
LIST_FIELDS(Device, devices);
LIST_HEAD(SessionDevice, session_devices);
};
+6 -7
View File
@@ -25,13 +25,13 @@
#include "terminal-util.h"
#include "tmpfile-util.h"
int seat_new(Seat** ret, Manager *m, const char *id) {
int seat_new(Manager *m, const char *id, Seat **ret) {
_cleanup_(seat_freep) Seat *s = NULL;
int r;
assert(ret);
assert(m);
assert(id);
assert(ret);
if (!seat_name_is_valid(id))
return -EINVAL;
@@ -42,14 +42,12 @@ int seat_new(Seat** ret, Manager *m, const char *id) {
*s = (Seat) {
.manager = m,
.id = strdup(id),
.state_file = path_join("/run/systemd/seats/", id),
};
s->state_file = path_join("/run/systemd/seats", id);
if (!s->state_file)
if (!s->id || !s->state_file)
return -ENOMEM;
s->id = basename(s->state_file);
r = hashmap_put(m->seats, s->id, s);
if (r < 0)
return r;
@@ -77,6 +75,7 @@ Seat* seat_free(Seat *s) {
free(s->positions);
free(s->state_file);
free(s->id);
return mfree(s);
}
+2 -2
View File
@@ -26,10 +26,10 @@ struct Seat {
LIST_FIELDS(Seat, gc_queue);
};
int seat_new(Seat **ret, Manager *m, const char *id);
int seat_new(Manager *m, const char *id, Seat **ret);
Seat* seat_free(Seat *s);
DEFINE_TRIVIAL_CLEANUP_FUNC(Seat *, seat_free);
DEFINE_TRIVIAL_CLEANUP_FUNC(Seat*, seat_free);
int seat_save(Seat *s);
int seat_load(Seat *s);
+10 -11
View File
@@ -46,13 +46,13 @@
static void session_remove_fifo(Session *s);
static void session_restore_vt(Session *s);
int session_new(Session **ret, Manager *m, const char *id) {
int session_new(Manager *m, const char *id, Session **ret) {
_cleanup_(session_freep) Session *s = NULL;
int r;
assert(ret);
assert(m);
assert(id);
assert(ret);
if (!session_id_valid(id))
return -EINVAL;
@@ -63,19 +63,17 @@ int session_new(Session **ret, Manager *m, const char *id) {
*s = (Session) {
.manager = m,
.id = strdup(id),
.state_file = path_join("/run/systemd/sessions/", id),
.fifo_fd = -EBADF,
.vtfd = -EBADF,
.audit_id = AUDIT_SESSION_INVALID,
.tty_validity = _TTY_VALIDITY_INVALID,
.leader = PIDREF_NULL,
};
s->state_file = path_join("/run/systemd/sessions", id);
if (!s->state_file)
if (!s->id || !s->state_file)
return -ENOMEM;
s->id = basename(s->state_file);
s->devices = hashmap_new(&devt_hash_ops);
if (!s->devices)
return -ENOMEM;
@@ -146,10 +144,12 @@ Session* session_free(Session *s) {
if (!s)
return NULL;
sd_event_source_unref(s->stop_on_idle_event_source);
if (s->in_gc_queue)
LIST_REMOVE(gc_queue, s->manager->session_gc_queue, s);
s->timer_event_source = sd_event_source_unref(s->timer_event_source);
sd_event_source_unref(s->timer_event_source);
session_drop_controller(s);
@@ -203,10 +203,9 @@ Session* session_free(Session *s) {
/* Note that we remove neither the state file nor the fifo path here, since we want both to survive
* daemon restarts */
free(s->state_file);
free(s->fifo_path);
sd_event_source_unref(s->stop_on_idle_event_source);
free(s->state_file);
free(s->id);
return mfree(s);
}
+4 -3
View File
@@ -95,7 +95,8 @@ typedef enum TTYValidity {
struct Session {
Manager *manager;
const char *id;
char *id;
unsigned position;
SessionType type;
SessionType original_type;
@@ -164,10 +165,10 @@ struct Session {
LIST_FIELDS(Session, gc_queue);
};
int session_new(Session **ret, Manager *m, const char *id);
int session_new(Manager *m, const char *id, Session **ret);
Session* session_free(Session *s);
DEFINE_TRIVIAL_CLEANUP_FUNC(Session *, session_free);
DEFINE_TRIVIAL_CLEANUP_FUNC(Session*, session_free);
void session_set_user(Session *s, User *u);
int session_set_leader_consume(Session *s, PidRef _leader);
+2 -5
View File
@@ -37,17 +37,14 @@
#include "unit-name.h"
#include "user-util.h"
int user_new(User **ret,
Manager *m,
UserRecord *ur) {
int user_new(Manager *m, UserRecord *ur, User **ret) {
_cleanup_(user_freep) User *u = NULL;
char lu[DECIMAL_STR_MAX(uid_t) + 1];
int r;
assert(ret);
assert(m);
assert(ur);
assert(ret);
if (!ur->user_name)
return -EINVAL;
+2 -2
View File
@@ -65,10 +65,10 @@ struct User {
LIST_FIELDS(User, gc_queue);
};
int user_new(User **out, Manager *m, UserRecord *ur);
int user_new(Manager *m, UserRecord *ur, User **ret);
User *user_free(User *u);
DEFINE_TRIVIAL_CLEANUP_FUNC(User *, user_free);
DEFINE_TRIVIAL_CLEANUP_FUNC(User*, user_free);
int user_start_service_manager(User *u);
int user_start(User *u);