Add ability to specify watch interval using environment variable WATCH_INTERVAL

This commit is contained in:
Harry Wagstaff 2018-04-23 11:34:08 +01:00 committed by Craig Small
parent a68d628adf
commit c1214a56a6

14
watch.c
View File

@ -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);