svn commit: r345050 - head/bin/date

Rodney W. Grimes freebsd at gndrsh.dnsmgr.net
Tue Mar 12 05:25:20 UTC 2019


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

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

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


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