shithub: riscv

Download patch

ref: 732082c0951ca080de05608a0b6464ca699da61d
parent: 703b0d3e6d8d68eb5ca36866386a3d9c47ec2a15
author: Ori Bernstein <ori@eigenstate.org>
date: Thu Sep 10 12:26:42 EDT 2020

ctime(2), tmdate(2): document ctime/tmparse incompatibility

Tmparse and ctime don't mix. The timezone name may be
too long for the number of characters ctime mandates.
Document this footgun.

--- a/sys/man/2/ctime
+++ b/sys/man/2/ctime
@@ -128,3 +128,6 @@
 These routines are not equipped to handle non-\c
 .SM ASCII
 text, and are provincial anyway.
+.br
+These routines may garble the date when passed a date parsed with
+.IR tmparse (2).
--- a/sys/man/2/tmdate
+++ b/sys/man/2/tmdate
@@ -275,6 +275,13 @@
 dirty hack. The same date string may parse differently for
 people in different timezones.
 .PP
+Tmparse and ctime don't mix.
+Tmparse preserves timezone names, including names like '+0200'.
+Ctime expects timezone names to be exactly three characters.
+Use the
+.I %τ
+format character instead of ctime.
+.PP
 The timezone information that we ship is out of date.
 .PP
 The Plan 9 timezone format has no way to express leap seconds.