X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fnotify.c;h=28cfe23b23c4d81ddeaee10ba4b07366fc44abd9;hb=ee0dd8021b3d6203235c8b0cd014431c8fb38d8f;hp=6dd708a90077ead6cad638afd0af11e54de1188e;hpb=2e33c4331f9f1169645e4b2e9c7c8861454f6b51;p=elogind.git diff --git a/src/notify.c b/src/notify.c index 6dd708a90..28cfe23b2 100644 --- a/src/notify.c +++ b/src/notify.c @@ -1,4 +1,4 @@ -/*-*- Mode: C; c-basic-offset: 8 -*-*/ +/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/ /*** This file is part of systemd. @@ -115,6 +115,15 @@ static int parse_argv(int argc, char *argv[]) { } } + if (optind >= argc && + !arg_ready && + !arg_status && + !arg_pid && + !arg_booted) { + help(); + return -EINVAL; + } + return 1; } @@ -122,12 +131,13 @@ int main(int argc, char* argv[]) { char* our_env[4], **final_env = NULL; unsigned i = 0; char *status = NULL, *cpid = NULL, *n = NULL; - int r, retval = 1; + int r, retval = EXIT_FAILURE; log_parse_environment(); + log_open(); if ((r = parse_argv(argc, argv)) <= 0) { - retval = r < 0; + retval = r < 0 ? EXIT_FAILURE : EXIT_SUCCESS; goto finish; } @@ -163,7 +173,7 @@ int main(int argc, char* argv[]) { } if (strv_length(final_env) <= 0) { - retval = 0; + retval = EXIT_SUCCESS; goto finish; } @@ -177,7 +187,7 @@ int main(int argc, char* argv[]) { goto finish; } - retval = r <= 0; + retval = r <= 0 ? EXIT_FAILURE : EXIT_SUCCESS; finish: free(status);