From c1214a56a6992dcc09c31761843e03ac8e19cb90 Mon Sep 17 00:00:00 2001 From: Harry Wagstaff Date: Mon, 23 Apr 2018 11:34:08 +0100 Subject: [PATCH] Add ability to specify watch interval using environment variable WATCH_INTERVAL --- watch.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/watch.c b/watch.c index a73eab59..a66beb97 100644 --- a/watch.c +++ b/watch.c @@ -668,6 +668,7 @@ int main(int argc, char *argv[]) { int optc; double interval = 2; + char *interval_string; char *command; char **command_argv; int command_length = 0; /* not including final \0 */ @@ -701,6 +702,10 @@ int main(int argc, char *argv[]) textdomain(PACKAGE); atexit(close_stdout); + interval_string = getenv("WATCH_INTERVAL"); + if(interval_string != NULL) + interval = strtod_nol_or_err(interval_string, _("Could not parse interval from WATCH_INTERVAL")); + while ((optc = getopt_long(argc, argv, "+bced::ghn:pvtx", longopts, (int *)0)) != EOF) { @@ -730,10 +735,6 @@ int main(int argc, char *argv[]) break; case 'n': interval = strtod_nol_or_err(optarg, _("failed to parse argument")); - if (interval < 0.1) - interval = 0.1; - if (interval > UINT_MAX) - interval = UINT_MAX; break; case 'p': precise_timekeeping = 1; @@ -750,6 +751,11 @@ int main(int argc, char *argv[]) } } + if (interval < 0.1) + interval = 0.1; + if (interval > UINT_MAX) + interval = UINT_MAX; + if (optind >= argc) usage(stderr);