svn commit: r345050 - head/bin/date

Warner Losh imp at bsdimp.com
Tue Mar 12 05:43:40 UTC 2019


On Mon, Mar 11, 2019 at 11:25 PM Rodney W. Grimes <freebsd at gndrsh.dnsmgr.net>
wrote:

> > > Author: imp
> > > Date: Tue Mar 12 04:49:59 2019
> > > New Revision: 345050
> > > URL: https://svnweb.freebsd.org/changeset/base/345050
> > >
> > > Log:
> > >   Remove now useless -d and -t flags.
> > >
> > >   These were used to set dst flag and minutes west of UTC
> > >   respectively. These are obsolete and have been removed form the
> > >   kernel. These existed primarily to faithfully emulate early
> > >   Unix ABIs that have been removed from FreeBSD.
> > >
> > >   Reviewed by: jbh@, brooks@
> Nits:  jhb@ and I see he did comment in the review, but he did not
> accept it as a reviewew at the top.
>

This is why I think just the reference to the differential revision is
perfectly fine. Why duplicate data? Others complained I hadn't included it.
He commented, we discussed it on irc (though most of it was about how to
use arc better), etc. I thought it warranted it. So please don't nitpick.
This level is really annoying and frustrating. Does this really help us
produce a better product?

> >   Differential Revision: https://reviews.freebsd.org/D19550
> >
> > Can we get a commit to stable/12 that puts out a warning if
> > anyone uses -d or -t to the date command please?
>

I don't think it's worth it for a feature that's been obsolete for 20
years, but if someone else wants to do so, I'll not object.

And I just noticed you did not fix the man page for this.
>

Ah, yes. I'll fix that.

Warner


> > > Modified:
> > >   head/bin/date/date.c
> > >
> > > Modified: head/bin/date/date.c
> > >
> ==============================================================================
> > > --- head/bin/date/date.c    Tue Mar 12 04:49:47 2019        (r345049)
> > > +++ head/bin/date/date.c    Tue Mar 12 04:49:59 2019        (r345050)
> > > @@ -91,14 +91,12 @@ static const char *rfc2822_format = "%a, %d %b %Y
> %T %
> > >  int
> > >  main(int argc, char *argv[])
> > >  {
> > > -   struct timezone tz;
> > >     int ch, rflag;
> > >     bool Iflag, jflag, nflag, Rflag;
> > >     const char *format;
> > >     char buf[1024];
> > > -   char *endptr, *fmt;
> > > +   char *fmt;
> > >     char *tmp;
> > > -   int set_timezone;
> > >     struct vary *v;
> > >     const struct vary *badv;
> > >     struct tm *lt;
> > > @@ -108,18 +106,10 @@ main(int argc, char *argv[])
> > >     v = NULL;
> > >     fmt = NULL;
> > >     (void) setlocale(LC_TIME, "");
> > > -   tz.tz_dsttime = tz.tz_minuteswest = 0;
> > >     rflag = 0;
> > >     Iflag = jflag = nflag = Rflag = 0;
> > > -   set_timezone = 0;
> > > -   while ((ch = getopt(argc, argv, "d:f:I::jnRr:t:uv:")) != -1)
> > > +   while ((ch = getopt(argc, argv, "f:I::jnRr:uv:")) != -1)
> > >             switch((char)ch) {
> > > -           case 'd':               /* daylight savings time */
> > > -                   tz.tz_dsttime = strtol(optarg, &endptr, 10) ? 1 :
> 0;
> > > -                   if (endptr == optarg || *endptr != '\0')
> > > -                           usage();
> > > -                   set_timezone = 1;
> > > -                   break;
> > >             case 'f':
> > >                     fmt = optarg;
> > >                     break;
> > > @@ -160,13 +150,6 @@ main(int argc, char *argv[])
> > >                                     usage();
> > >                     }
> > >                     break;
> > > -           case 't':               /* minutes west of UTC */
> > > -                                   /* error check; don't allow "PST"
> */
> > > -                   tz.tz_minuteswest = strtol(optarg, &endptr, 10);
> > > -                   if (endptr == optarg || *endptr != '\0')
> > > -                           usage();
> > > -                   set_timezone = 1;
> > > -                   break;
> > >             case 'u':               /* do everything in UTC */
> > >                     (void)setenv("TZ", "UTC0", 1);
> > >                     break;
> > > @@ -179,13 +162,6 @@ main(int argc, char *argv[])
> > >     argc -= optind;
> > >     argv += optind;
> > >
> > > -   /*
> > > -    * If -d or -t, set the timezone or daylight savings time; this
> > > -    * doesn't belong here; the kernel should not know about either.
> > > -    */
> > > -   if (set_timezone && settimeofday(NULL, &tz) != 0)
> > > -           err(1, "settimeofday (timezone)");
> > > -
> > >     if (!rflag && time(&tval) == -1)
> > >             err(1, "time");
> > >
> > > @@ -411,8 +387,7 @@ static void
> > >  usage(void)
> > >  {
> > >     (void)fprintf(stderr, "%s\n%s\n%s\n",
> > > -       "usage: date [-jnRu] [-d dst] [-r seconds|file] [-t west] "
> > > -       "[-v[+|-]val[ymwdHMS]]",
> > > +       "usage: date [-jnRu] [-r seconds|file] [-v[+|-]val[ymwdHMS]]",
> > >         "            "
> > >         "[-I[date | hours | minutes | seconds]]",
> > >         "            "
> > >
> > >
> >
> > --
> > Rod Grimes
> rgrimes at freebsd.org
> >
> >
>
> --
> Rod Grimes
> rgrimes at freebsd.org
>


More information about the svn-src-head mailing list