git: aa6fb1d277be - main - tzsetup: ask local/UTC question only on x86
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 14 Jun 2024 16:16:06 UTC
The branch main has been updated by emaste:
URL: https://cgit.FreeBSD.org/src/commit/?id=aa6fb1d277be47c51abc309ac9305def0fce7f9d
commit aa6fb1d277be47c51abc309ac9305def0fce7f9d
Author: Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2024-06-12 23:48:24 +0000
Commit: Ed Maste <emaste@FreeBSD.org>
CommitDate: 2024-06-14 16:15:48 +0000
tzsetup: ask local/UTC question only on x86
Storing local time in the RTC is a legacy of 1990s PCs; it's not
relevant on other platforms of interest to FreeBSD.
While here switch to C99 bool.
Sponsored by: The FreeBSD Foundation
Reviewed by: allanjude (earlier), imp (earlier)
Differential Revision: https://reviews.freebsd.org/D45575
---
usr.sbin/tzsetup/tzsetup.8 | 3 ++-
usr.sbin/tzsetup/tzsetup.c | 25 +++++++++++++++----------
2 files changed, 17 insertions(+), 11 deletions(-)
diff --git a/usr.sbin/tzsetup/tzsetup.8 b/usr.sbin/tzsetup/tzsetup.8
index 499d25765541..4e70875ec74b 100644
--- a/usr.sbin/tzsetup/tzsetup.8
+++ b/usr.sbin/tzsetup/tzsetup.8
@@ -62,7 +62,8 @@ Skip the initial question about adjusting the clock if not set to UTC.
.Nm
will neither create nor delete
.Pa /etc/wall_cmos_clock .
-On a newly installed system the hardware clock will keep UTC.
+On a newly installed system, the hardware clock will keep UTC.
+This option is enabled automatically on non-x86 hardware.
.El
.Pp
It is possible to short-circuit the menu system by specifying the
diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c
index 617de4efb765..6629dd81f250 100644
--- a/usr.sbin/tzsetup/tzsetup.c
+++ b/usr.sbin/tzsetup/tzsetup.c
@@ -826,23 +826,28 @@ main(int argc, char **argv)
char prompt[128];
int fd;
#endif
- int c, rv, skiputc;
+ int c, rv;
+ bool skiputc;
+ char *dztpath;
+#if defined(__i386__) || defined(__amd64__)
char vm_guest[16] = "";
size_t len = sizeof(vm_guest);
- char *dztpath;
+ skiputc = false;
+
+ /* Default skiputc to true for VM guests */
+ if (sysctlbyname("kern.vm_guest", vm_guest, &len, NULL, 0) == 0 &&
+ strcmp(vm_guest, "none") != 0)
+ skiputc = true;
+#else
+ skiputc = true;
+#endif
dztpath = NULL;
- skiputc = 0;
#ifdef HAVE_BSDDIALOG
setlocale(LC_ALL, "");
#endif
- /* Default skiputc to 1 for VM guests */
- if (sysctlbyname("kern.vm_guest", vm_guest, &len, NULL, 0) == 0 &&
- strcmp(vm_guest, "none") != 0)
- skiputc = 1;
-
while ((c = getopt(argc, argv, "C:d:nrs")) != -1) {
switch (c) {
case 'C':
@@ -861,7 +866,7 @@ main(int argc, char **argv)
#endif
break;
case 's':
- skiputc = 1;
+ skiputc = true;
break;
default:
usage();
@@ -951,7 +956,7 @@ main(int argc, char **argv)
if (bsddialog_init() == BSDDIALOG_ERROR)
errx(1, "Error bsddialog: %s\n", bsddialog_geterror());
- if (skiputc == 0) {
+ if (!skiputc) {
snprintf(prompt, sizeof(prompt),
"Is this machine's CMOS clock set to UTC? "
"If it is set to local time,\n"