summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2025-09-07 15:55:02 +0200
committerThomas Voss <mail@thomasvoss.com> 2025-09-07 15:55:02 +0200
commita07693893601c8f9f7f65d07daa6db5c79afcb9d (patch)
tree93f8c2f0e27f7189ad35afab46d1d467631540ae
parente60c0f29e77a1564e4f6ee0421ea215db7554aa6 (diff)
Make -h open the manual page
-rw-r--r--main.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/main.c b/main.c
index 7ddc3b9..688683e 100644
--- a/main.c
+++ b/main.c
@@ -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];