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"