X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-seat.c;h=3114de84de5811950248486d1a02862f29eb7fb1;hb=1b8689f94983b47bf190e77ddb03a8fc6af15fb3;hp=96cf08e3b2f1b34fc6d2dc7d0ef2b44a85a94802;hpb=3e6b205f81e743c7354ccbc69eb45afbdbebe2dc;p=elogind.git diff --git a/src/login/logind-seat.c b/src/login/logind-seat.c index 96cf08e3b..3114de84d 100644 --- a/src/login/logind-seat.c +++ b/src/login/logind-seat.c @@ -120,9 +120,9 @@ int seat_save(Seat *s) { fprintf(f, "ACTIVE=%s\n" - "ACTIVE_UID=%lu\n", + "ACTIVE_UID="UID_FMT"\n", s->active->id, - (unsigned long) s->active->user->uid); + s->active->user->uid); } if (s->sessions) { @@ -168,14 +168,12 @@ int seat_load(Seat *s) { } static int vt_allocate(unsigned int vtnr) { - _cleanup_free_ char *p = NULL; + char p[sizeof("/dev/tty") + DECIMAL_STR_MAX(unsigned int)]; _cleanup_close_ int fd = -1; assert(vtnr >= 1); - if (asprintf(&p, "/dev/tty%u", vtnr) < 0) - return -ENOMEM; - + snprintf(p, sizeof(p), "/dev/tty%u", vtnr); fd = open_terminal(p, O_RDWR|O_NOCTTY|O_CLOEXEC); if (fd < 0) return -errno; @@ -487,7 +485,7 @@ void seat_claim_position(Seat *s, Session *session, unsigned int pos) { if (seat_has_vts(s)) pos = session->vtnr; - if (!GREEDY_REALLOC0_T(s->positions, s->position_count, pos + 1)) + if (!GREEDY_REALLOC0(s->positions, s->position_count, pos + 1)) return; seat_evict_position(s, session);