X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=src%2Fwall-notify.c;h=e7106be07ca58a8cb731d3f7bcdce839bde76b63;hb=4fc49b7b8d439b53f17536c11fc7f608e9e9f6d5;hp=bd1e8ad0112705b69355a882cf51f7cba2c510dc;hpb=7b96775207895be63fb280ab147e4e9923c7bb26;p=wall-notify%2Fwall-notify.git diff --git a/src/wall-notify.c b/src/wall-notify.c index bd1e8ad..e7106be 100644 --- a/src/wall-notify.c +++ b/src/wall-notify.c @@ -214,14 +214,14 @@ static void drop_privileges(void) { gid = getgid(); /* Drop all privileges. */ - if (setresuid(uid, uid, uid) != 0) { - perror("setresuid"); - exit(EXIT_FAILURE); - } if (setresgid(gid, gid, gid) != 0) { perror("setresgid"); exit(EXIT_FAILURE); } + if (setresuid(uid, uid, uid) != 0) { + perror("setresuid"); + exit(EXIT_FAILURE); + } /* Verify all privileges were dropped. */ if (getresuid(&ruid, &euid, &suid) != 0) { @@ -361,11 +361,12 @@ static void *x11_event_loop_thread(void *unused) { #endif static void usage(const char *argv0) { - fprintf(stderr, "usage: %s [-X] [-m] \n", argv0); + fprintf(stderr, "usage: %s [-X] [-m] [-v] \n", argv0); fprintf(stderr, "Pass wall messages to .\n"); fprintf(stderr, "\n"); fprintf(stderr, "-X quit when the current X session terminates\n"); fprintf(stderr, "-m allow messages from normal users (like `mesg y`)\n"); + fprintf(stderr, "-v display version\n"); #ifdef DONT_USE_X11 fprintf(stderr, "\n"); fprintf(stderr, "compiled without X11 support, -X disabled\n"); @@ -392,7 +393,7 @@ int main(int argc, char **argv) { * the optstring with "+" fixes this behaver. This is not POSIX * compatible, but the option should be ignored on other systems. */ - while ((option = getopt(argc, argv, "+Xmh")) != -1) { + while ((option = getopt(argc, argv, "+Xmhv")) != -1) { switch (option) { case 'X': enable_x11 = 1; @@ -403,6 +404,12 @@ int main(int argc, char **argv) { case 'h': usage(argv[0]); break; + case 'v': + printf("%s%s\n", + PACKAGE_STRING, + strlen(GIT_VERSION) ? " (Git " GIT_VERSION ")" : ""); + exit(0); + break; default: fprintf(stderr, "%s: unknown option '%s'!\n\n", argv[0], argv[optind - 1]);