X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Flogin%2Finhibit.c;h=e20af74ef0949d873b9f44b93ec6e4aa0021d61a;hp=3ab86ac90c7d179d91252b5227230a176df0d1b8;hb=5b30bef856e89a571df57b7b953e9a1409d9aced;hpb=5220a6f3a1f5a7324898ecfe7649af254cf561a6 diff --git a/src/login/inhibit.c b/src/login/inhibit.c index 3ab86ac90..e20af74ef 100644 --- a/src/login/inhibit.c +++ b/src/login/inhibit.c @@ -27,7 +27,6 @@ #include #include "sd-bus.h" - #include "bus-util.h" #include "bus-error.h" #include "util.h" @@ -63,7 +62,7 @@ static int inhibit(sd_bus *bus, sd_bus_error *error) { r = sd_bus_message_read_basic(reply, SD_BUS_TYPE_UNIX_FD, &fd); if (r < 0) - return -EIO; + return r; r = dup(fd); if (r < 0) @@ -161,7 +160,7 @@ static int parse_argv(int argc, char *argv[]) { { "why", required_argument, NULL, ARG_WHY }, { "mode", required_argument, NULL, ARG_MODE }, { "list", no_argument, NULL, ARG_LIST }, - { NULL, 0, NULL, 0 } + {} }; int c; @@ -174,8 +173,7 @@ static int parse_argv(int argc, char *argv[]) { switch (c) { case 'h': - help(); - return 0; + return help(); case ARG_VERSION: puts(PACKAGE_STRING); @@ -202,9 +200,11 @@ static int parse_argv(int argc, char *argv[]) { arg_action = ACTION_LIST; break; - default: - log_error("Unknown option code %c", c); + case '?': return -EINVAL; + + default: + assert_not_reached("Unhandled option"); } } @@ -228,8 +228,10 @@ int main(int argc, char *argv[]) { log_open(); r = parse_argv(argc, argv); - if (r <= 0) + if (r < 0) return EXIT_FAILURE; + if (r == 0) + return EXIT_SUCCESS; r = sd_bus_open_system(&bus); if (r < 0) {