svn commit: r327476 - head/sbin/shutdown

Rodney W. Grimes freebsd at pdx.rh.CN85.dnsmgr.net
Mon Jan 1 23:22:21 UTC 2018


[ Charset UTF-8 unsupported, converting... ]
> 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;
Please sort in alpha order here too, since your gona have to commit anyway.
	int maybe_today, this_year;


> > >       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

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the svn-src-head mailing list