diff --git a/usr.sbin/tzsetup/tzsetup.8 b/usr.sbin/tzsetup/tzsetup.8 --- a/usr.sbin/tzsetup/tzsetup.8 +++ b/usr.sbin/tzsetup/tzsetup.8 @@ -62,7 +62,8 @@ .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 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -826,23 +826,28 @@ 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 @@ #endif break; case 's': - skiputc = 1; + skiputc = true; break; default: usage(); @@ -951,7 +956,7 @@ 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"