X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-session.c;h=0c6e425603830f2bf74bef83523bc7fe1146de48;hb=60240797a4ce464ec7a0537ccbec4c83f599251c;hp=9d05faf47ceab9aa60cb99b84aaa967d867e6333;hpb=e9e74f28d783a052dce7edfa94d7918bb591ba7a;p=elogind.git diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 9d05faf47..0c6e42560 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -44,21 +44,6 @@ static void session_remove_fifo(Session *s); -static unsigned long devt_hash_func(const void *p, const uint8_t hash_key[HASH_KEY_SIZE]) { - uint64_t u = *(const dev_t*)p; - - return uint64_hash_func(&u, hash_key); -} - -static int devt_compare_func(const void *_a, const void *_b) { - dev_t a, b; - - a = *(const dev_t*) _a; - b = *(const dev_t*) _b; - - return a < b ? -1 : (a > b ? 1 : 0); -} - Session* session_new(Manager *m, const char *id) { Session *s; @@ -1076,11 +1061,13 @@ bool session_is_controller(Session *s, const char *sender) { static void session_swap_controller(Session *s, char *name) { SessionDevice *sd; + char *c; if (s->controller) { - manager_drop_busname(s->manager, s->controller); - free(s->controller); + c = s->controller; s->controller = NULL; + manager_drop_busname(s->manager, c); + free(c); /* Drop all devices as they're now unused. Do that after the * controller is released to avoid sending out useles