diff options
-rw-r--r-- | sys-utils/hwclock.8.in | 3 | ||||
-rw-r--r-- | sys-utils/hwclock.c | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/sys-utils/hwclock.8.in b/sys-utils/hwclock.8.in index cf33e6329..72b842ed5 100644 --- a/sys-utils/hwclock.8.in +++ b/sys-utils/hwclock.8.in @@ -376,9 +376,8 @@ in learning about the internal operations of hwclock. .B \-\-update\-drift Update the Hardware Clock's drift factor in .IR @ADJTIME_PATH@ . -It is used with +It can only be used with .BR \-\-set " or " \%\-\-systohc , -otherwise it is ignored. .sp A minimum four hour period between settings is required. This is to avoid invalid calculations. The longer the period, the more precise the diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c index 5868ad6fd..7d69b7ac5 100644 --- a/sys-utils/hwclock.c +++ b/sys-utils/hwclock.c @@ -1233,7 +1233,7 @@ usage(const struct hwclock_control *ctl, FILE *out) #if defined(__linux__) && defined(__alpha__) fputs(_(" --epoch <year> epoch input for --setepoch\n"), out); #endif - fputs(_(" --update-drift update drift factor (requires --set or --systohc)\n"), out); + fputs(_(" --update-drift update the RTC drift factor\n"), out); fprintf(out, _( " --noadjfile do not use %1$s\n" " --adjfile <file> use an alternate file to %1$s\n"), _PATH_ADJTIME); @@ -1465,6 +1465,11 @@ int main(int argc, char **argv) if (!ctl.adj_file_name) ctl.adj_file_name = _PATH_ADJTIME; + if (ctl.update && !ctl.set && !ctl.systohc) { + warnx(_("--update-drift requires --set or --systohc")); + hwclock_exit(&ctl, EX_USAGE); + } + if (ctl.noadjfile && !ctl.utc && !ctl.local_opt) { warnx(_("With --noadjfile, you must specify " "either --utc or --localtime")); |