X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogin%2Flogind-button.c;h=baa6b7113c1038ff4f706589273ad3d421f29d10;hp=3324c4622c765addd6e305625990a060333179da;hb=428fec6437d70d1c28696ec29f09e00a46e47398;hpb=5c524c1900f85eb098ad525f80f9c61801fd9366 diff --git a/src/login/logind-button.c b/src/login/logind-button.c index 3324c4622..baa6b7113 100644 --- a/src/login/logind-button.c +++ b/src/login/logind-button.c @@ -1,5 +1,3 @@ -/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ - /*** This file is part of systemd. @@ -19,16 +17,20 @@ along with systemd; If not, see . ***/ -#include #include #include +#include #include #include #include #include "sd-messages.h" -#include "util.h" + +#include "alloc-util.h" +#include "fd-util.h" #include "logind-button.h" +#include "string-util.h" +#include "util.h" Button* button_new(Manager *m, const char *name) { Button *b; @@ -66,12 +68,11 @@ void button_free(Button *b) { sd_event_source_unref(b->io_event_source); sd_event_source_unref(b->check_event_source); - if (b->fd >= 0) { + if (b->fd >= 0) /* If the device has been unplugged close() returns * ENODEV, let's ignore this, hence we don't use * safe_close() */ (void) close(b->fd); - } free(b->name); free(b->seat); @@ -239,9 +240,7 @@ int button_open(Button *b) { assert(b); - if (b->fd >= 0) { - b->fd = safe_close(b->fd); - } + b->fd = safe_close(b->fd); p = strjoina("/dev/input/", b->name); @@ -250,8 +249,7 @@ int button_open(Button *b) { return log_warning_errno(errno, "Failed to open %s: %m", b->name); if (ioctl(b->fd, EVIOCGNAME(sizeof(name)), name) < 0) { - log_error_errno(errno, "Failed to get input name: %m"); - r = -errno; + r = log_error_errno(errno, "Failed to get input name: %m"); goto fail; }