Commit Graph

67 Commits

Author SHA1 Message Date
Warner Losh
1d386b48a5 Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2023-08-16 11:54:42 -06:00
Alfonso Gregory
e97468063d Mark usage function as __dead2 in programs where it does not return
In most cases, usage does not return, so mark them as __dead2. For the
cases where they do return, they have not been marked __dead2.

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/735
2023-07-07 10:45:17 -06:00
Baptiste Daroussin
31edf56b15 date: add -z output_zone option
Inpired by OpenBSD date(1), this option allows to do timezone conversion
via the date(1) command.

For example, to determine when the BSDCan livestream begins for me:

$ env -i TZ=EST5EDT date -z Europe/Paris -j 0900

MFC After:		1 week
Reviewed by:		kib, bcr (manpage)
Differential Revision:	https://reviews.freebsd.org/D40159
2023-05-19 21:09:40 +02:00
Mateusz Piotrowski
c537bf9d59 date: Capitalize seconds string in synopses
This makes it consistent with other date(1) implementations. Also, it
feels more consistent since hours and minutes are already represented as
HH and MM respectively.

MFC after:	3 days
2021-11-03 14:09:36 +01:00
Mateusz Piotrowski
a12b16f48f date: Clean up synopses
MFC after:	3 days
2021-11-03 14:09:36 +01:00
Warner Losh
8b82def341 Restore the -n flag parsing, but ignore it.
Since D19668 was done, new users of the -n flag have surfaced. Parse
and ignore it on the command line until they can be updated.

Suggested by: rgrimes (in D19668).
2019-04-24 05:24:10 +00:00
Warner Losh
e77a99c1c1 Remove -n flag, fix setting date / time
r342139 bork setting the date. This fixes it by simply removing the -n
flag.

Differential Revision: https://reviews.freebsd.org/D19668
2019-03-21 06:47:23 +00:00
Warner Losh
d24ba0bb86 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@
Differential Revision: https://reviews.freebsd.org/D19550
2019-03-12 04:49:59 +00:00
George V. Neville-Neil
53fc043d41 Remove, the now very outdated, timed.
Submitted by:	Kyle Spiers ksspiers at gmail
Reviewed by:	bcr,brooks,bz,sbruno
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D18505
2018-12-15 21:34:40 +00:00
Conrad Meyer
2c77ec5419 date(1): Add ISO 8601 formatting option
The new flag is named '-I'.  It is documented in the manual page and covered
by basic unit tests.
2018-08-04 21:54:30 +00:00
Warner Losh
dfb1d80f64 Fill in ut_id. While it's not relevant to the {OLD,NEW}_TIME entries,
we shouldn't leak stack garbage into the field.

Sponsored by: Netflix
2018-01-23 15:34:34 +00:00
Pedro F. Giffuni
8a16b7a18f General further adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
2017-11-20 19:49:47 +00:00
Ed Maste
819129649d date: avoid crash on invalid time
localtime(3) returns NULL when passed an invalid time_t but date(1)
previously did not handle it. Exit with an error in that case.

PR:		220828
Reported by:	Vinícius Zavam
Reviewed by:	cem, kevans
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D11660
2017-07-20 15:28:48 +00:00
Warner Losh
fbbd9655e5 Renumber copyright clause 4
Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.

Submitted by:	Jan Schaumann <jschauma@stevens.edu>
Pull Request:	https://github.com/freebsd/freebsd/pull/96
2017-02-28 23:42:47 +00:00
Xin LI
8b45db8ee2 date(1): Make -r behave like GNU's version when the option can not be
interpreted as a number, which checks the file's modification time and
use that as the date/time value.

This improves compatibility with GNU coreutils's version of time(1).

MFC after:	2 weeks
2015-05-07 20:54:38 +00:00
Jean-Sébastien Pédron
b69ced8d8c date(1): Add "-R" flag to use RFC 2822 date and time output format
As stated in the man page, this is equivalent to use "%a, %d %b %Y %T %z"
as the output format while LC_TIME is set to the "C" locale.

This is compatible with date(1) from the GNU core utilities.
2014-04-26 13:05:56 +00:00
Ed Schouten
902d9eafbf Rework all non-contributed files that use `struct timezone'.
This structure is not part of POSIX. According to POSIX, gettimeofday()
has the following prototype:

	int gettimeofday(struct timeval *restrict tp, void *restrict tzp);

Also, POSIX states that gettimeofday() shall return 0 (as long as tzp is
not used). Remove dead error handling code. Also use NULL for a
nul-pointer instead of integer 0.

While there, change all pieces of code that only use tv_sec to use
time(3), as this provides less overhead.
2012-09-01 14:45:15 +00:00
Ed Schouten
759dba8c5a Port everything in bin/ from utmp to utmpx.
date: use libc utmpx routines instead of the ones provided by libulog.
pax:  don't depend on <utmp.h>
2010-01-13 17:56:54 +00:00
Ed Schouten
9b796f4419 Let date(1) use utmpx instead of logwtmp().
utmpx also has OLD_TIME/NEW_TIME messages, which seem to be intended for
the same purpose as how we call logwtmp() here.
2009-12-05 20:09:50 +00:00
Ruslan Ermilov
a65550812a Don't reset DST computed by strptime() (when e.g. setting the
date via -f %s).

Reported by:	Eugene Grosbein
Diagnosed by:	Miguel Lopes Santos Ramos
2008-02-07 16:04:24 +00:00
Warner Losh
9ddb49cbe4 /*- or .\"- or #- to begin license clauses. 2005-01-10 08:39:26 +00:00
Mark Murray
6195fb4102 Remove clause 3 from the UCB licenses.
OK'ed by:	imp, core
2004-04-06 20:06:54 +00:00
Mike Makonnen
662713f2a8 Rev. 1.32 moved a comment to the wrong line. The hack refered to
in the comment applies to a decision that needs to be made in relation
to the year 2000.

In fact, that statement probably should be changed to be
more generic (getting the year from the current time perhaps). Otherwise,
starting in 2069 two digit year conversions in date(1) will start assuming
1900 instead of 2000. hehe.
2004-03-04 15:46:14 +00:00
Diomidis Spinellis
4566e7a433 Check for write errors; report and exit with error value. 2003-10-04 07:16:40 +00:00
Philippe Charnier
e869e50704 Enclose sccsid according to style(9).
udp/timed -> timed/udp
2003-02-05 12:56:40 +00:00
Mark Murray
4e3b1d65e6 Staticify for lint. 2002-10-18 14:48:48 +00:00
David E. O'Brien
5eb43ac2f7 Consistently use __FBSDID 2002-06-30 05:13:54 +00:00
Mark Murray
9afa09cd0e Fix warnings inspired by lint, a commercial lint and WARNS=4. 2002-02-22 20:51:00 +00:00
Warner Losh
f9bcb0beb5 o __P has been reoved
o Old-style K&R declarations have been converted to new C89 style
o register has been removed
o prototype for main() has been removed (gcc3 makes it an error)
o int main(int argc, char *argv[]) is the preferred main definition.
o Attempt to not break style(9) conformance for declarations more than
  they already are.

Approved by: arch@, new style(9)
2002-02-02 06:24:13 +00:00
Matthew Dillon
cd9c425794 Remove assumption that time_t is an int
MFC after:	1 day
2001-10-28 02:28:04 +00:00
Dima Dorfman
1adbddec6e Add -j to the usage string.
PR:		27986
Submitted by:	Cyrille Lefevre <clefevre@redirect.to>
2001-06-09 06:14:05 +00:00
Ruslan Ermilov
10d865720b Fix an off-by-hour bug when crossing Daylight Saving Time boundary.
PR:		bin/27399
Submitted by:	"Crist J. Clark" <crist.clark@globalstar.com>
MFC after:	3 days
2001-05-17 15:20:15 +00:00
Warner Losh
2c15efcfb5 Don't explicitly declare optarg and optind. These are declared in
unistd.h, which is already included.
2000-08-16 05:14:49 +00:00
John W. De Boskey
b4a3a03827 Expand the -r option to support hex. Though undocumented, the -r
option already supported octal. Add a comment to the -r option
in the man page so it's a bit more specific.

Discrepancy brought to my attention by: sasdrq@unx.sas.com
Approved by:	jkh
2000-07-22 22:08:39 +00:00
Daniel Baker
d5dc63cc0a Correct confusion and differentiate appropriately between GMT and UTC when
date is launched with the "u" argument.  It now operates in the documented
manner.

Fix typo in date man page.

Submitted by:	David McNett <nugget@slacker.com>
2000-05-19 18:02:25 +00:00
Sheldon Hearn
a82111c306 Back out previous commit and replace with a cleaner solution adapted
from the source attributed below.  In particular, this removes a goto
inside a switch and replaces those horrendous ATOI macros with
something acceptable.

More clean-ups to come.

PR:		bin/14151
Reported by:	Christian Weisgerber <naddy@mips.rhein-neckar.de>
Obtained from:	NetBSD
1999-12-29 16:50:08 +00:00
Sheldon Hearn
646e0924a1 Allow the year to be specified with an optional century.
PR:	14472
Reported by:	j_guojun@lbl.gov (Jin Guojun)
1999-11-10 13:34:39 +00:00
Peter Wemm
2a4562393f $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
Martin Cracauer
d430c0c167 Don't continue if parsing failed when -f is in use. Exit with nonzero value. 1999-06-25 09:04:48 +00:00
John-Mark Gurney
3bc1b1bb27 the month and three days are up for -hackers and the 24hrs for -committers.
add a -j flag that tells date not to try to set the date.  This allows you
to use date as a userland interface to strptime.

example:
TZ=GMT date -j -f "%a, %d %b %Y %T %Z" "Sun, 08 Nov 1998 02:22:20 GMT" +%s

which is the standard format for Last-modified headers in HTTP requests.

only one to respond: eivind
1999-05-14 00:28:41 +00:00
Brian Somers
269dfbee64 Support seconds with -v.
PR:		6308
Submitted by:	Max Euston <meuston@jmrodgers.com>
1999-03-09 09:38:54 +00:00
Alexander Langer
f97fe12243 Added missing #include <string.h> 1998-10-03 16:29:59 +00:00
Philippe Charnier
574d120677 Restore Lite-2 sccsid. Restore include of sys/param.h. 1998-05-13 07:31:42 +00:00
Philippe Charnier
cbf6f7d358 Correct use of .Nm and other cosmetics. Add rcsid. Remove unused #inc. 1998-05-06 06:51:42 +00:00
John Birrell
c1e8822ae4 Cast a size_t to a long to avoid a gcc warning. 1998-01-25 08:59:08 +00:00
Brian Somers
ad1c694bdc Put [+format] at the end of the usage message.
Make `date -?' output (pretty much) the same as
the man page
PR:		5269
1997-12-11 02:38:56 +00:00
Daniel O'Callaghan
c5c1c13516 Back out suppress '\n' mod. 1997-10-03 12:54:30 +00:00
Daniel O'Callaghan
34de7199ea Add the '-s' flag to the usage string. 1997-10-01 05:44:35 +00:00
Daniel O'Callaghan
70a53cd743 Add the ability to supress the '\n' at the end of the date printed. 1997-10-01 05:24:08 +00:00
Joerg Wunsch
adb7f7bca7 Fix the broken `date HHMM.SS' handling.
PR:		bin/4661
Submitted by:	blank@sliphost37.uni-trier.de (Sascha Blank)
1997-09-30 20:06:15 +00:00