Home | History | Annotate | only in /src/bin/date
History log of /src/bin/date
RevisionDateAuthorComments
 1.16 26-May-2021  christos tool changes
 1.15 14-Aug-2011  christos branches: 1.15.44; 1.15.46; 1.15.50;
Document non-literal formats
 1.14 17-Nov-2006  christos getdate is in libutil.
 1.13 15-Nov-2006  christos fix build with objdirs
 1.12 15-Nov-2006  christos Add -d option, similar to gnu date.
 1.11 18-Jul-2003  lukem doc2html works here now, so remove NOHTML
 1.10 03-Jul-2001  lukem doc2hmtl is broken for recursive Oo ... Oc at this time
 1.9 20-Jul-1997  christos Remove WARNS=1 from all the subdirectory Makefiles, and add it to Makefile.inc
now that all /bin has been cleaned.
 1.8 20-Jul-1997  thorpej Build with WARNS
 1.7 21-Mar-1995  cgd convert to new RCS id conventions.
 1.6 22-Sep-1994  mycroft Merge 4.4-Lite version.
 1.5 09-Aug-1993  mycroft Minor tweak for cross-compiling.
 1.4 01-Aug-1993  mycroft Add RCS identifiers.
 1.3 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2 22-Mar-1993  cgd added rcs ids to all files
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.2 22-Sep-1994  mycroft Import original 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.15.50.1 31-May-2021  cjep sync with head
 1.15.46.1 03-Jun-2023  martin Pull up the following revisions, requested by kim in ticket #1640:

bin/date/Makefile up to 1.16
bin/date/date.1 up to 1.54
bin/date/date.c up to 1.65

Add -R option for displaying time in RFC 5322 format, similar to GNU date.
Add -f option to set the time. From FreeBSD.
 1.15.44.2 21-Apr-2020  martin Ooops, restore accidently removed files from merge mishap
 1.15.44.1 21-Apr-2020  martin Sync with HEAD
 1.57 17-Sep-2024  kre date(1) says:

STANDARDS
The date utility is expected to be compatible with IEEE Std 1003.2
(“POSIX.2”).

yet the format used for the date string arg is:

[[[[[[CC]yy]mm]dd]HH]MM[.SS]]

whereas POSIX demands

mmddHHMM[[CC]yy]

Why anyone would ever want to use that archaic form is incomprehensible
to me, yet, that is what is required.

Implement support for the POSIX format if POSIXLY_CORRECT is set in
the environment (in the full date(1) build only) in a rather crude
way that relies upon the user getting the format correct.

Tools builds are unaffected - setting the time is not supported there.
(It could be made to work, half setting the time, using -j, is possible
in tools builds, but pointless, and this cheap implementation uses
strptime() which is not necessarily available to a tools build.)

Mention this (very briefly) in the man page.
 1.56 17-Sep-2024  kre Add -U and -z options to date(1).

-U allows the (internal) TZ setting to be returned
to what it was when date started running.

-z zone sets TZ to be "zone" unless that is an empty
string, in which case it causes TZ to be removed from
the environment.

These can be used together to manipulate TZ around
parsing of a -d arg, to allow its parsing to be done
in a different zone than the one used for output, and
all unrelated to the initial TZ setting (or system default).

Note that these new options only appear in the first
synopsis form in both the man page and usage(), as -d
also appears only there, and these options make little
sense without also using -d.

This is a very simple change which amounts to no more
that a few setenv() and unsetenv() calls.
 1.55 17-Sep-2024  kre Note that the order in which the -u and -d options are given matters.
 1.54 31-May-2023  uwe branches: 1.54.2;
date(1): sync two [[[[[CC]yy]mm]dd]HH]MM[.SS] instances

The markup was the same (modulo Li vs Cm for the dot before the
seconds), but use the same source markup grouping/layout in both to
make this fact more obvious.
 1.53 31-May-2023  uwe date(1): minor markup fixes
 1.52 31-May-2023  kim Add -R option for displaying time in RFC 5322 format, similar to GNU date.
 1.51 22-Oct-2022  christos branches: 1.51.2;
Add -f option to set the time. From FreeBSD.
 1.50 10-May-2022  uwe date(1): Use .Dl for one-liners. Same output is generated.
 1.49 10-May-2022  uwe date(1): Fix the offset in previous.
 1.48 10-May-2022  wiz date(1): add example for how to get seconds since the Epoch output
 1.47 27-Jan-2018  wiz branches: 1.47.4; 1.47.6;
Remove trailing whitespace and Tn macro.
 1.46 25-Jan-2018  christos sync with tzcode-2018c
 1.45 03-Jul-2017  wiz Remove workaround for ancient HTML generation code.
 1.44 03-Jan-2017  abhinav The range of the SS field is [0,60]

From the POSIX time.h man page:
"The formal definition of UTC does not permit double leap seconds, so all mention of double leap seconds has been removed, and the range shortened from the former [0,61] seconds seen in previous versions of POSIX."
 1.43 11-Aug-2016  sevan Document the version date first appeared.
Bump date.
 1.42 06-Apr-2012  wiz branches: 1.42.16;
- fix timed(8) references;
- fix capitalization;
- add reference to environ(7) in `SEE ALSO' section, as it is
mentioned in the text.

From patch by Bug Hunting.
 1.41 04-Feb-2010  wiz branches: 1.41.6;
Remove trailing whitespace.
 1.40 04-Feb-2010  reed For the -d option, refer to parsedate(3) for examples.
 1.39 30-Jan-2009  reed Show that "seconds" is the expected argument for -r.
(I didn't bump the manual page date for this minor change. If I
should let me know.)
 1.38 26-Nov-2006  wiz Drop trailing whitespace.
 1.37 20-Nov-2006  christos getdate -> parsedate
 1.36 15-Nov-2006  christos Add -d option, similar to gnu date.
 1.35 15-Nov-2006  jdarrow Add -j flag to not actually change the clock, just parse the date given
(if any) and then display it in the format given. Matches similar -j
flag functionality in FreeBSD/OpenBSD.

Change requested by George Georgalis on netbsd-users.

While I'm here, disambiguate the letters in the date string, by using
the same option letters as used by strftime(3).
 1.34 18-Apr-2005  dsl Add a '-a' option to set the time using adjtime(2) instead of settimeofday(2).
Fix usage so that the options which apply to dat/time setting are on the
correct line.
 1.33 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22249, verified by myself.
 1.32 25-Feb-2003  wiz .Nm does not need a dummy argument ("") before punctuation or
for correct formatting of the SYNOPSIS any longer.
 1.31 25-Sep-2002  wiz New policy: New sentences start on a new line.
Patches by Robert Elz <kre at munnari oz au>, with minimal changes by me.
 1.30 08-Feb-2002  ross Generate <>& symbolically. I'm avoiding .../dist/... directories for now.
 1.29 20-Dec-2001  wiz Sort sections.
 1.28 20-Dec-2001  wiz Whitespace nits.
 1.27 09-Mar-2001  hubertf xref settimeofday(2)
 1.26 18-Dec-2000  hubertf Document /etc/localtime, per PR 8099 by Charles Hannum.
 1.25 08-Oct-2000  bjh21 Formatting cleanup: more fonts, less punctuation.
 1.24 29-Dec-1999  hubertf branches: 1.24.4;
make example cut&paste-ready
 1.23 09-Mar-1999  ross branches: 1.23.2;
Work around a spurious warning.
 1.22 08-Jun-1998  lukem remove unnecessary comment
 1.21 20-Jan-1998  mycroft Make the documented parsing order for the date match reality.
 1.20 20-Jan-1998  mycroft Fix documentation of `-r'.
 1.19 20-Jan-1998  mycroft Allow a century to be specified.
Cut and paste some text from touch(1) about date parsing.
 1.18 03-Nov-1997  kleink s/UCT/UTC/
 1.17 20-Oct-1997  enami branches: 1.17.2;
Fix .Nm usage.
 1.16 11-May-1997  mikel fix broken timed(8) xrefs, noted by David Brownlee.
 1.15 11-Mar-1997  perry Add documentation of the fact that date does indeed understand years
after 2000 (years 00 through 68 are interpreted as meaning 2000-2068;
this should be updated sometime before 2068 :-)
 1.14 25-Jan-1997  perry nuke the BUGS section -- it was vax specific
 1.13 24-Jan-1997  perry remove obsolete -d and -t options -- kernel timezone handling is long gone
 1.12 12-Mar-1996  phil a a => a (close pr 2204).
 1.11 05-Dec-1995  jtc ENVIRONMENTAL -> ENVIRONMENT
 1.10 07-Sep-1995  jtc Sync with 4.4lite2
 1.9 25-Jul-1995  jtc Use "utility" instead of "command". Modern definitions of these terms
are distinct (See POSIX.2 glossary).

A utility is a executable, script or shell builtin; while a command
can be any of those things plus lists, pipelines, compound commands
(if, for, while) and shell function definitions.
 1.8 21-Mar-1995  cgd convert to new RCS id conventions.
 1.7 22-Sep-1994  mycroft Merge 4.4-Lite version.
 1.6 19-Aug-1993  jtc Print correct default output format.
Note that date (with a suitable strftime()), is 1003.2 compliant.
 1.5 16-Aug-1993  jtc 1003.2: 4.15.4: The output always shall be terminated by a newline character.
 1.4 01-Aug-1993  mycroft Add RCS indentifiers.
 1.3 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2 22-Mar-1993  cgd added rcs ids to all files
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 07-Sep-1995  jtc imported from 44lite2
 1.1.1.2 22-Sep-1994  mycroft Import original 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.17.2.2 29-Jan-1998  mellon Pull up 1.19-1.21 (mycroft)
 1.17.2.1 04-Nov-1997  mellon Pull rev 1.18 up from trunk (kleink)
 1.23.2.1 08-Jan-2000  he Pull up revision 1.24 (requested by hubertf):
Make the example ready for cut & paste.
 1.24.4.2 13-Mar-2001  he Pull up revision 1.26 (requested by he):
Document /etc/localtime symlink.
 1.24.4.1 11-Mar-2001  he Pull up revision 1.27 (requested by hubertf):
Cross-reference settimeofday(2), so it's obvious what system call
is used to set the system (and hardware!) clock.
 1.41.6.1 17-Apr-2012  yamt sync with head
 1.42.16.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.47.6.1 03-Jun-2023  martin Pull up the following revisions, requested by kim in ticket #1640:

bin/date/Makefile up to 1.16
bin/date/date.1 up to 1.54
bin/date/date.c up to 1.65

Add -R option for displaying time in RFC 5322 format, similar to GNU date.
Add -f option to set the time. From FreeBSD.
 1.47.4.2 21-Apr-2020  martin Ooops, restore accidently removed files from merge mishap
 1.47.4.1 21-Apr-2020  martin Sync with HEAD
 1.51.2.1 03-Jun-2023  martin Pull up following revision(s) (requested by kim in ticket #192):

bin/date/date.1: revision 1.52
bin/date/date.1: revision 1.53
bin/date/date.1: revision 1.54
bin/date/date.c: revision 1.64
bin/date/date.c: revision 1.65

Add -R option for displaying time in RFC 5322 format, similar to GNU date.

date(1): minor markup fixes

Add -R to usage

date(1): sync two [[[[[CC]yy]mm]dd]HH]MM[.SS] instances
The markup was the same (modulo Li vs Cm for the dot before the
seconds), but use the same source markup grouping/layout in both to
make this fact more obvious.
 1.54.2.1 02-Aug-2025  perseant Sync with HEAD
 1.70 17-Sep-2024  kre date(1) says:

STANDARDS
The date utility is expected to be compatible with IEEE Std 1003.2
(“POSIX.2”).

yet the format used for the date string arg is:

[[[[[[CC]yy]mm]dd]HH]MM[.SS]]

whereas POSIX demands

mmddHHMM[[CC]yy]

Why anyone would ever want to use that archaic form is incomprehensible
to me, yet, that is what is required.

Implement support for the POSIX format if POSIXLY_CORRECT is set in
the environment (in the full date(1) build only) in a rather crude
way that relies upon the user getting the format correct.

Tools builds are unaffected - setting the time is not supported there.
(It could be made to work, half setting the time, using -j, is possible
in tools builds, but pointless, and this cheap implementation uses
strptime() which is not necessarily available to a tools build.)

Mention this (very briefly) in the man page.
 1.69 17-Sep-2024  kre Add -U and -z options to date(1).

-U allows the (internal) TZ setting to be returned
to what it was when date started running.

-z zone sets TZ to be "zone" unless that is an empty
string, in which case it causes TZ to be removed from
the environment.

These can be used together to manipulate TZ around
parsing of a -d arg, to allow its parsing to be done
in a different zone than the one used for output, and
all unrelated to the initial TZ setting (or system default).

Note that these new options only appear in the first
synopsis form in both the man page and usage(), as -d
also appears only there, and these options make little
sense without also using -d.

This is a very simple change which amounts to no more
that a few setenv() and unsetenv() calls.
 1.68 17-Sep-2024  kre PR lib/58674 (and I suspect, several others)

Stop expecting strptime(3) in the tools build, it is an XSI
function, and the tools builds do not set up the environment
to expect XSI functions to be available.

This means dropping support for the -f option in the tools date
(which shouldn't matter, -f sets the format for the string used
to set the time, which the tools date does not support), and
open coding parsing for the -d option in the tools build.

There should be no changes to the date(1) that is installed in /bin

As a (minor) benefit, the tools -d support has become somewhat
more flexible than the previous simple strptime() implementation
allowed, and also does better error checking (no more Feb 30 etc).

Note: no change to the usage message, if -f is passed to the tools
date it will elicit a usage which says that -f is supported...
(that's just laziness...)
 1.67 17-Sep-2024  kre isleap() is not a standard function/macro, so if none of the include
files have defined a macro of that name, define it ourselves.
 1.66 21-Jan-2024  christos branches: 1.66.2;
Handle -d %Y%m%d in the tools version. This is used in the release notes
Makefile.inc when BUILDID is specified. Consider providing parsedate(3)
in libcompat, but then we'd need yacc...
 1.65 31-May-2023  kim Add -R to usage
 1.64 31-May-2023  kim Add -R option for displaying time in RFC 5322 format, similar to GNU date.
 1.63 22-Oct-2022  christos branches: 1.63.2;
Add -f option to set the time. From FreeBSD.
 1.62 26-May-2021  christos tool changes
 1.61 01-Sep-2014  dholland branches: 1.61.16; 1.61.18; 1.61.22;
Provide real error messages.
Inspired by PR 49169 from David H. Gutteridge, but a much broader patch :-)
 1.60 27-Aug-2011  joerg Annotate dead functions
 1.59 29-Jan-2011  christos revert the revert and fix the code properly.
 1.58 28-Jan-2011  drochner roll back to 20101210 -- the current version just hung if one tried
to set the date
 1.57 12-Dec-2010  christos branches: 1.57.2;
check return value of localtime.
 1.56 11-Dec-2010  christos - check return of strtoll
- misc cleanup
 1.55 03-Oct-2010  gson Simplify by using setenv() instead of putenv().
 1.54 02-Oct-2010  gson putenv() no longer accepts a const string
 1.53 29-May-2010  dholland Don't blow up on date +''. Patch from Robert Elz in followup to PR 39392.
 1.52 20-Jul-2008  lukem branches: 1.52.4;
Remove the \n and tabs from the __COPYRIGHT() strings.
 1.51 24-Feb-2008  dholland branches: 1.51.4;
Use strtoll rather than strtol to read the -r argument, so it will work
for wider time_t. Also mark a timed-related y2038 lossage for whenever
someone figures out the best way to shoot timed.
 1.50 04-Feb-2007  cbiere branches: 1.50.4; 1.50.8;
Use size_t not int for strlen().
 1.49 20-Nov-2006  christos branches: 1.49.2;
getdate -> parsedate
 1.48 17-Nov-2006  christos getdate is in libutil.
 1.47 15-Nov-2006  christos Add -d option, similar to gnu date.
 1.46 15-Nov-2006  jdarrow Add -j flag to not actually change the clock, just parse the date given
(if any) and then display it in the format given. Matches similar -j
flag functionality in FreeBSD/OpenBSD.

Change requested by George Georgalis on netbsd-users.

While I'm here, disambiguate the letters in the date string, by using
the same option letters as used by strftime(3).
 1.45 07-Oct-2006  elad PR/28450: David H. Gutteridge: date(1) does not validate its input and
accepts and processes impossible dates

Patch applied, thanks!
 1.44 17-Aug-2006  jnemeth don't include program name when calling err()
 1.43 23-Jul-2006  christos PR/34055: Kevin Massey: Date uses a fixed 1K buffer for strftime
but does not check when strftime fails because the buffer is too small.
Our implementation of strftime does not NUL terminat the buffer
on failure (it does not have to; the results are undefined), so
garbage gets printed. Use a dynamically allocated buffer instead.
 1.42 22-Jul-2005  peter More minor cleanup:
- remove unnecessary prototype for main()
- use symbolic exit code
- KNF & wrap a long line
 1.41 22-Jul-2005  hubertf Minor code cleanup:

* remove unneeded cast
* use err() instead of perror() + exit()
* use symbolic exit code

Patch contributed by Liam J. Foy <liamfoy@sepulcrum.org> in private mail.
 1.40 26-Jun-2005  christos sprinkle a little const, and now everything compiles with WARNS=3
 1.39 15-May-2005  dsl Set (and report) the new time (not the old one).
I broke it in rev 1.38, someone has finally noticed....
 1.38 18-Apr-2005  dsl Add a '-a' option to set the time using adjtime(2) instead of settimeofday(2).
Fix usage so that the options which apply to dat/time setting are on the
correct line.
 1.37 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22249, verified by myself.
 1.36 04-Aug-2003  jschauma As discusses a little while back on tech-userlevel:

If stdout is a tty, use vis(3) to print any filenames to prevent garbage
from being printed if the filename contains control- or other non-printable
characters.

While here, sprinkle some EXIT_FAILURE and NOTREACHED where appropriate.
 1.35 16-Sep-2001  wiz Use setprogname. Patch by Petri Koistinen.
 1.34 13-Sep-2001  wiz ANSIfication and KNF fixes by Petri Koistinen in bin/13691.
 1.33 08-Jul-2001  gmcgarry setthetime() is prototyped static; make it so.
 1.32 23-Oct-2000  simonb Use strtol() to convert the -r parameter so we can use alternate bases
for that input.
 1.31 08-Oct-2000  bjh21 When setting the date, ask mktime() to work out whether we're in DST or not.
Seems to fix PR bin/8750.
 1.30 14-Apr-2000  simonb branches: 1.30.4;
Don't declare 'extern opt*' getopt variables.
 1.29 04-Jan-2000  kleink Make this slightly more portable by using putenv().
 1.28 04-Nov-1998  christos cast to unsigned char for is*()
 1.27 24-Oct-1998  mycroft GMT -> UTC
 1.26 14-Oct-1998  wsanchez For the case where mktime() fails exit with "illegal time" error rather than
"illegal time format", which is misleading.
 1.25 28-Jul-1998  mycroft Be more retentive about use of NOTREACHED and noreturn.
 1.24 28-Jul-1998  mycroft Delint.
 1.23 27-Jul-1998  mycroft __AUDIT__ cleanup.
 1.22 01-Apr-1998  kleink Need <time.h> for time(), strftime(), localtime() and mktime() prototypes.
 1.21 21-Jan-1998  mycroft Slight code rearrangement.
 1.20 20-Jan-1998  mycroft Don't validate the mmddhhmm.ss values here. mktime(3) does it.
 1.19 20-Jan-1998  mycroft Make the documented parsing order for the date match reality.
 1.18 20-Jan-1998  mycroft Allow a century to be specified.
Cut and paste some text from touch(1) about date parsing.
 1.17 20-Jan-1998  mycroft Use TM_YEAR_BASE to adjust tm_year, not 1900.
 1.16 05-Nov-1997  cgd lint
 1.15 20-Jul-1997  thorpej branches: 1.15.2;
__RCSID()/__COPYRIGHT()/prototype police.
 1.14 26-Mar-1997  cgd pull in util.h rather than prototypeing logtwmp() locally.
 1.13 24-Jan-1997  perry remove obsolete -d and -t options -- kernel timezone handling is long gone
 1.12 09-Jan-1997  tls kill use of register
 1.11 07-Sep-1995  jtc Sync with 4.4lite2
 1.10 23-Apr-1995  cgd clean up RCS Ids slightly, etc.
 1.9 21-Mar-1995  cgd convert to new RCS id conventions.
 1.8 22-Sep-1994  mycroft Merge 4.4-Lite version.
 1.7 31-Dec-1993  jtc Minor tweaks.
 1.6 16-Aug-1993  jtc 1003.2: 4.15.4: The output always shall be terminated by a newline character.
 1.5 01-Aug-1993  mycroft Add RCS identifiers.
 1.4 21-Jun-1993  deraadt date comamnd ignored seconds value. patch from <mhw@cs.brown.edu>
 1.3 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2 22-Mar-1993  cgd added rcs ids to all files
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 07-Sep-1995  jtc imported from 44lite2
 1.1.1.2 22-Sep-1994  mycroft Import original 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.15.2.1 29-Jan-1998  mellon Pull up 1.16 (cgd) and 1.17-1.21 (mycroft)
 1.30.4.3 08-Jul-2001  gmcgarry backout previous; wrong branch
 1.30.4.2 08-Jul-2001  gmcgarry setthetime() is prototyped as static; make it so.
 1.30.4.1 09-Oct-2000  bjh21 Pull up revision 1.31 (approved by jhawk):
Fix off-by-one-hour bug when using date(1) to move between DST and non-DST.
Fixes PR#8750.
 1.49.2.1 13-Jun-2010  riz Pull up following revision(s) (requested by dholland in ticket #1396):
bin/date/date.c: revision 1.53
Don't blow up on date +''. Patch from Robert Elz in followup to PR 39392.
 1.50.8.1 24-Mar-2008  keiichi sync with head.
 1.50.4.1 23-Mar-2008  matt sync with HEAD
 1.51.4.1 18-Sep-2008  wrstuden Sync with wrstuden-revivesa-base-2.
 1.52.4.1 21-Nov-2010  riz Pull up following revision(s) (requested by dholland in ticket #1411):
bin/date/date.c: revision 1.53
Don't blow up on date +''. Patch from Robert Elz in followup to PR 39392.
 1.57.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.61.22.1 31-May-2021  cjep sync with head
 1.61.18.2 15-Oct-2024  martin Pull up following revision(s) (requested by kre in ticket #1914):

bin/date/date.c (apply patch)
usr.bin/sed/process.c: revision 1.54
sys/sys/signal.h: revision 1.77
sys/sys/signal.h: revision 1.78
external/gpl2/gmake/dist/main.c: revision 1.2

PR lib/58674

When building the tools version of sed, treat all wide characters
as if they occupy just one column for the purposes of sed's 'l'
command (which it is very unlikely to be used from the tools sed).
wdwidth() is another XSI function, not necessarily available everywhere.

PR lib/58674
bsd_signal should only be visible with _NETBSD_SOURCE - it isn't any kind of
standard function (despite also existing in other systems).

This change inspired by the PR, but doesn't fix it in any way, the tools
config script for gmake doesn't care if the function is visible in any
header, merely if present in libc.

PR lib/58674 (not really so much any more)
Correct previous.
bsd_signal should only be visible with _NETBSD_SOURCE - it isn't any kind of
standard function (despite also existing in other systems).

Turns out that it used to be an XSI function, back in the dark ages
('twas removed in POSIX issue 7, back in 2008, after being marked
obsolete in issue 6 (2001)).

So, make it visible to any applications that request a suitable
X/Open version (and of course, for _NETBSD_SOURCE).
Still no effect on the issue for the PR.

PR lib/58674
Hopefully allow the tools gmake to build (everywhere).

Don't use the system bsd_signal() function, even if one is
defined, use a locally defined one instead. Note that it
cannot be declared static (which the code would do) as it
is possible that system header files might define the function,
if it exists on the host system, and that prototype would not
(cannot) be static.

This is a horrible hack, feel free to do something better.

Note: this version of gmake is (currently anyway) used only
as part of the tools used for building NetBSD - apart from that
it is used for nothing.
 1.61.18.1 03-Jun-2023  martin Pull up the following revisions, requested by kim in ticket #1640:

bin/date/Makefile up to 1.16
bin/date/date.1 up to 1.54
bin/date/date.c up to 1.65

Add -R option for displaying time in RFC 5322 format, similar to GNU date.
Add -f option to set the time. From FreeBSD.
 1.61.16.2 21-Apr-2020  martin Ooops, restore accidently removed files from merge mishap
 1.61.16.1 21-Apr-2020  martin Sync with HEAD
 1.63.2.2 14-Oct-2024  martin Pull up following revision(s) (requested by kre in ticket #978):

bin/date/date.c (apply patch)
usr.bin/sed/process.c: revision 1.54
sys/sys/signal.h: revision 1.77
sys/sys/signal.h: revision 1.78
external/gpl2/gmake/dist/main.c: revision 1.2

PR lib/58674
When building the tools version of sed, treat all wide characters
as if they occupy just one column for the purposes of sed's 'l'
command (which it is very unlikely to be used from the tools sed).
wdwidth() is another XSI function, not necessarily available everywhere.

PR lib/58674
bsd_signal should only be visible with _NETBSD_SOURCE - it isn't any kind =
of
standard function (despite also existing in other systems).
This change inspired by the PR, but doesn't fix it in any way, the tools
config script for gmake doesn't care if the function is visible in any
header, merely if present in libc.

PR lib/58674 (not really so much any more)
Correct previous.
bsd_signal should only be visible with _NETBSD_SOURCE - it isn't any kind =
of
standard function (despite also existing in other systems).

Turns out that it used to be an XSI function, back in the dark ages
('twas removed in POSIX issue 7, back in 2008, after being marked
obsolete in issue 6 (2001)).
So, make it visible to any applications that request a suitable
X/Open version (and of course, for _NETBSD_SOURCE).
Still no effect on the issue for the PR.

PR lib/58674
Hopefully allow the tools gmake to build (everywhere).
Don't use the system bsd_signal() function, even if one is
defined, use a locally defined one instead. Note that it
cannot be declared static (which the code would do) as it
is possible that system header files might define the function,
if it exists on the host system, and that prototype would not
(cannot) be static.

This is a horrible hack, feel free to do something better.

Note: this version of gmake is (currently anyway) used only
as part of the tools used for building NetBSD - apart from that
it is used for nothing.
 1.63.2.1 03-Jun-2023  martin Pull up following revision(s) (requested by kim in ticket #192):

bin/date/date.1: revision 1.52
bin/date/date.1: revision 1.53
bin/date/date.1: revision 1.54
bin/date/date.c: revision 1.64
bin/date/date.c: revision 1.65

Add -R option for displaying time in RFC 5322 format, similar to GNU date.

date(1): minor markup fixes

Add -R to usage

date(1): sync two [[[[[CC]yy]mm]dd]HH]MM[.SS] instances
The markup was the same (modulo Li vs Cm for the dot before the
seconds), but use the same source markup grouping/layout in both to
make this fact more obvious.
 1.66.2.1 02-Aug-2025  perseant Sync with HEAD
 1.8 17-Nov-2006  christos branches: 1.8.84;
getdate is in libutil.
 1.7 15-Nov-2006  christos no names in params.
 1.6 15-Nov-2006  christos Add -d option, similar to gnu date.
 1.5 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22249, verified by myself.
 1.4 13-Sep-2001  wiz ANSIfication and KNF fixes by Petri Koistinen in bin/13691.
 1.3 21-Mar-1995  cgd convert to new RCS id conventions.
 1.2 22-Sep-1994  mycroft Merge 4.4-Lite version.
 1.1 22-Sep-1994  mycroft branches: 1.1.1;
Initial revision
 1.1.1.1 22-Sep-1994  mycroft Import original 4.4-Lite version.
 1.8.84.2 21-Apr-2020  martin Ooops, restore accidently removed files from merge mishap
 1.8.84.1 21-Apr-2020  martin Sync with HEAD
 1.2 17-Nov-2006  christos getdate is in libutil.
 1.1 15-Nov-2006  christos Add -d option, similar to gnu date.
 1.30 29-Jan-2011  christos branches: 1.30.46;
revert the revert and fix the code properly.
 1.29 28-Jan-2011  drochner roll back to 20101210 -- the current version just hung if one tried
to set the date
 1.28 11-Dec-2010  christos branches: 1.28.2;
- check return of strtoll
- misc cleanup
 1.27 24-Feb-2008  dholland Use strtoll rather than strtol to read the -r argument, so it will work
for wider time_t. Also mark a timed-related y2038 lossage for whenever
someone figures out the best way to shoot timed.
 1.26 04-Feb-2007  cbiere branches: 1.26.4; 1.26.8;
* Prevent out-of-bounds read tsptype if a packet with
an unknown msg_type is received.
* Check the received packet size.
* Use strncpy() instead of strlcpy() so that we don't
send gibberish from the stack.
* No need to bind().
* htons()/htonl() use uint16_t/uint32_t not u_short/u_long.
 1.25 14-Jun-2006  ginsbach Adapt date(1), the netsettime function, to new return value from socket(2)
when the address family is unsupported.
 1.24 07-Aug-2003  agc Move UCB-licensed code from 4-clause to 3-clause licence.

Patches provided by Joel Baker in PR 22249, verified by myself.
 1.23 12-Jul-2003  itojun strlcpy
 1.22 21-Sep-2002  mycroft select() -> poll()
 1.21 03-Nov-2001  lukem fix WARNS=2
 1.20 13-Sep-2001  wiz ANSIfication and KNF fixes by Petri Koistinen in bin/13691.
 1.19 08-Jul-2001  gmcgarry Use socklen_t; for compilers with strict type checking.
 1.18 19-Dec-1998  kristerw Fixed off-by-one error where HOSTNAME+1 characters was copied into
tsp_name that has size HOSTNAME.
 1.17 04-Nov-1998  christos #ifdef BSD4_4 for sin_len
 1.16 28-Jul-1998  mycroft Delint.
 1.15 06-Jul-1998  mrg - use an array MAXHOSTNAMELEN+1 size to hold hostnames
- ensure hostname from gethostname() is nul-terminated in all cases
- minor KNF
- use MAXHOSTNAMELEN over various other values/defines
- be safe will buffers that hold hostnames
 1.14 20-Jan-1998  mycroft Allow a century to be specified.
Cut and paste some text from touch(1) about date parsing.
 1.13 10-Jan-1998  lukem use IP_PORTRANGE_LOW sockopt rather than home-grown code
 1.12 05-Nov-1997  cgd lint
 1.11 20-Jul-1997  thorpej branches: 1.11.2;
__RCSID()/__COPYRIGHT()/prototype police.
 1.10 07-Sep-1995  jtc Sync with 4.4lite2
 1.9 03-Jun-1995  mycroft Fill in sin_len.
 1.8 21-Mar-1995  cgd convert to new RCS id conventions.
 1.7 22-Sep-1994  mycroft Merge 4.4-Lite version.
 1.6 03-Feb-1994  deraadt typo fix
 1.5 05-Dec-1993  deraadt should bzero automatic sockaddr's before use
 1.4 01-Aug-1993  mycroft Add RCS identifiers.
 1.3 23-Mar-1993  cgd changed "Id" to "Header" for rcsids
 1.2 22-Mar-1993  cgd added rcs ids to all files
 1.1 21-Mar-1993  cgd branches: 1.1.1;
Initial revision
 1.1.1.3 07-Sep-1995  jtc imported from 44lite2
 1.1.1.2 22-Sep-1994  mycroft Import original 4.4-Lite version.
 1.1.1.1 21-Mar-1993  cgd initial import of 386bsd-0.1 sources
 1.11.2.2 29-Jan-1998  mellon Back out previous changes - 1.14 simply made 1.13 not break on older systems, and we can do without 1.13 and 1.12.
 1.11.2.1 29-Jan-1998  mellon Pull up 1.12 (cgd), 1.13 (lukem) and 1.14 (mycroft)
 1.26.8.1 24-Mar-2008  keiichi sync with head.
 1.26.4.1 23-Mar-2008  matt sync with HEAD
 1.28.2.1 08-Feb-2011  bouyer Sync with HEAD
 1.30.46.2 21-Apr-2020  martin Ooops, restore accidently removed files from merge mishap
 1.30.46.1 21-Apr-2020  martin Sync with HEAD

RSS XML Feed