svn commit: r327476 - head/sbin/shutdown
Eitan Adler
eadler at freebsd.org
Mon Jan 1 23:05:18 UTC 2018
On Monday, 1 January 2018, Ian Lepore <ian at freebsd.org> wrote:
> On Mon, 2018-01-01 at 22:33 +0000, Eitan Adler wrote:
> > Author: eadler
> > Date: Mon Jan 1 22:33:57 2018
> > New Revision: 327476
> > URL: https://svnweb.freebsd.org/changeset/base/327476
> >
> > Log:
> > shutdown: Assume absolute time is in the future
> >
> [...]
> > Modified: head/sbin/shutdown/shutdown.c
> > ============================================================
> ==================
> > --- head/sbin/shutdown/shutdown.c Mon Jan 1 22:31:52 2018
> (r327475)
> > +++ head/sbin/shutdown/shutdown.c Mon Jan 1 22:33:57 2018
> (r327476)
> > @@ -431,7 +431,7 @@ getoffset(char *timearg)
> > struct tm *lt;
> > char *p;
> > time_t now;
> > - int this_year;
> > + int this_year, maybe_today;
> > char *timeunit;
> >
> > (void)time(&now);
> > @@ -503,6 +503,7 @@ getoffset(char *timearg)
> > badtime();
> > /* FALLTHROUGH */
> > case 6:
> > + maybe_today = 0;
> > lt->tm_mday = ATOI2(timearg);
> > if (lt->tm_mday < 1 || lt->tm_mday > 31)
> > badtime();
> > @@ -517,8 +518,23 @@ getoffset(char *timearg)
> > lt->tm_sec = 0;
> > if ((shuttime = mktime(lt)) == -1)
> > badtime();
> > - if ((offset = shuttime - now) < 0)
> > - errx(1, "that time is already past.");
> > +
> > + if ((offset = shuttime - now) < 0) {
> > + if (!maybe_today)
> > + errx(1, "that time is already past.");
> > +
> > + /*
> > + * If the user only gave a time, assume that
> > + * any time earlier than the current time
> > + * was intended to be that time tomorrow.
> > + */
> > + lt->tm_mday++;
> > + if ((shuttime = mktime(lt)) == -1)
> > + badtime();
> > + if ((offset = shuttime - now) < 0) {
> > + errx(1, "tomorrow is before today?");
> > + }
> > + }
> > break;
> > default:
> > badtime();
> >
>
> Where does maybe_today ever get set to non-zero?
Baah. This is what happens when my build/test and commit box are not the
same. Will fix later when I get back home.
>
> -- Ian
>
--
Sent from my Turing Machine
More information about the svn-src-all
mailing list