diff options
author | Thomas Voss <mail@thomasvoss.com> | 2025-09-07 15:55:02 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2025-09-07 15:55:02 +0200 |
commit | a07693893601c8f9f7f65d07daa6db5c79afcb9d (patch) | |
tree | 93f8c2f0e27f7189ad35afab46d1d467631540ae | |
parent | e60c0f29e77a1564e4f6ee0421ea215db7554aa6 (diff) |
Make -h open the manual page
-rw-r--r-- | main.c | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -10,6 +10,7 @@ #include <stdlib.h> #include <string.h> #include <time.h> +#include <unistd.h> #include <libintl.h> @@ -26,10 +27,10 @@ int clock_nanosleep(clockid_t, int, const struct timespec *, struct timespec *); time_t syncs(time_t), syncm(time_t), synch(time_t); [[noreturn]] static void -usage(const char *argv0, int code) +usage(const char *argv0) { fprintf(stderr, _("Usage: %s [-h] [-i interval] [format]\n"), argv0); - exit(code); + exit(EXIT_FAILURE); } int @@ -55,7 +56,8 @@ main(int argc, char **argv) switch (opt) { case 'h': - usage(argv0, EXIT_SUCCESS); + execlp("man", "man", "1", argv0, nullptr); + err(EXIT_FAILURE, "execlp: man"); case 'i': if (strlen(optarg) == 1) { interval = *optarg; @@ -66,7 +68,7 @@ main(int argc, char **argv) _("invalid interval ā%sā\nRead the %s(1) manual page for valid intervals"), optarg, argv0); default: - usage(argv0, EXIT_FAILURE); + usage(argv0); } } @@ -74,7 +76,7 @@ main(int argc, char **argv) argv += optind; if (argc > 1) - usage(argv0, EXIT_FAILURE); + usage(argv0); if (argc != 0) dfmt = argv[0]; |