Merge pull request #31594 from YHNdnzj/logind-seat-basename
logind: several coding style cleanups
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ struct Device {
|
||||
|
||||
dual_timestamp timestamp;
|
||||
|
||||
LIST_FIELDS(struct Device, devices);
|
||||
LIST_FIELDS(Device, devices);
|
||||
LIST_HEAD(SessionDevice, session_devices);
|
||||
};
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user