From: Alejandro Colomar <alx.manpages@gmail.com>
To: наб <nabijaczleweli@nabijaczleweli.xyz>
Cc: linux-man@vger.kernel.org
Subject: Re: [PATCH v3 1/2] tm.3type: describe tm_zone, tm_gmtoff
Date: Tue, 19 Jul 2022 22:33:34 +0200 [thread overview]
Message-ID: <2a850b7d-a888-9577-6c0a-84deb542c0b9@gmail.com> (raw)
In-Reply-To: <b84f1ff5815f24cc23e55a0d89ddd1878f35faa7.1658255829.git.nabijaczleweli@nabijaczleweli.xyz>
[-- Attachment #1.1: Type: text/plain, Size: 4329 bytes --]
Hi наб,
On 7/19/22 20:38, наб wrote:
> FreeBSD timezone(3) is V7 char *timezone(int zone, int dst),
> our documentation would imply it's impossible to service this type of
> system portably
>
> Indeed, glibc defines them both, and they make more sense for most
> use-cases than trying to use the globals
>
> glibc cited for __USE_MISC, tm_zone invalidation is Debian 2.33-7
> POSIX cited for XSI marking is Issue 7 TC2
> CSRG CD #2 contains 4.3BSD-Tahoe with both members
>
> We currently ship an outdated (and factually misleading) version
> of this description in ctime.3
>
> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz> > ---
> man3/tm.3type | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 50 insertions(+)
>
> diff --git a/man3/tm.3type b/man3/tm.3type
> index 78e05a41a..c23fc023e 100644
> --- a/man3/tm.3type
> +++ b/man3/tm.3type
> @@ -25,8 +25,26 @@ Standard C library
> .BR " int tm_yday;" \
> " /* Day of the year [" 0 ", " 365 "] (Jan/01 = " 0 ") */"
> .BR " int tm_isdst;" " /* Daylight savings flag */"
> +
Use .PP. See man-pages(7):
Formatting conventions (general)
Paragraphs should be separated by suitable markers (usu‐
ally either .PP or .IP). Do not separate paragraphs us‐
ing blank lines, as this results in poor rendering in
some output formats (such as PostScript and PDF).
> +.BR " long tm_gmtoff;" " /* Seconds East of UTC */"
> +.BR " const char *tm_zone;" " /* Timezone abbreviation */"
> .B };
> .fi
> +.PP
> +.RS -4
> +Feature Test Macro Requirements for glibc (see
> +.BR feature_test_macros (7)):
> +.RE
> +.PP
> +.IR tm_gmtoff ,
> +.IR tm_zone :
> +.nf
> +.\" Guarded with __USE_MISC:
> + Since glibc 2.20:
> + _DEFAULT_SOURCE
> + Glibc 2.20 and earlier:
> + _BSD_SOURCE
> +.fi
> .SH DESCRIPTION
> Describes time, broken down into distinct components.
> .PP
> @@ -35,6 +53,16 @@ describes wether daylight saving time is in effect at the time described.
> The value is positive if daylight saving time is in effect,
> zero if it is not,
> and negative if the information is not available.
> +.PP
> +.I tm_gmtoff
> +is the difference, in seconds, of the timezone represented by this broken-down time and UTC
Heh, as the old kernel coding style used to read,
"The limit on the length of lines is 80 columns and this is a strongly
preferred limit."
Rationale: I can keep the font size quite big, and still have 2
terminals in a FullHD screen side by side, with line numbers.
I can still see around 87 characters (a little more than 80),
but that line is too much for me. If eighty-few characters really
improve readability, I can accept that, especially for SYNOPSIS, but in
running text, 80-char is more of a strong limit.
BTW, I just realized the SYNOPSIS moved past my screen on the terminal.
I fixed it.
> +(this is the additive inverse of
> +.BR timezone (3)).
> +.PP
> +.I tm_zone
> +is the equivalent of
> +.BR tzname (3)
> +for the timezone represented by this broken-down time.
> .SH VERSIONS
> In C90,
> .I tm_sec
> @@ -48,10 +76,32 @@ in C99.
> .SH CONFORMING TO
> C90 and later;
> POSIX.1-2001 and later.
> +.PP
> +.I tm_gmtoff
> +and
> +.I tm_zone
> +originate from 4.3BSD-Tahoe (where
> +.I tm_zone
> +is a
> +.IR "char *" ).
> .SH NOTES
> .I tm_sec
> can represent a leap second with the value
> .BR 60 .
> +.PP
> +.BR timezone (3),
> +as a variable, is an XSI extension: some systems provide the V7-compatible
> +.\" FreeBSD
> +.BR timezone ()
I've been thinking about if we should put there a section number.
I think we should. Actually, timezone(3) documents the function in NOTES.
Cheers,
Alex
> +function.
> +The
> +.I tm_gmtoff
> +field provides an alternative (with the opposite sign) for those systems.
> +.PP
> +.I tm_zone
> +points to static storage and may be overriden on subsequent calls to
> +.BR localtime (3)
> +and similar functions (however, this never happens under glibc).
> .SH SEE ALSO
> .BR ctime (3),
> .BR strftime (3),
--
Alejandro Colomar
<http://www.alejandro-colomar.es/>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2022-07-19 20:33 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-19 1:56 [PATCH 1/5] tm.3type: tfix наб
2022-07-19 1:56 ` [PATCH 2/5] tm.3type: align ranges наб
2022-07-19 11:44 ` Alejandro Colomar
2022-07-19 14:14 ` наб
2022-07-19 14:25 ` Alejandro Colomar
2022-07-19 1:56 ` [PATCH 3/5] tm.3type: tm_year is year minus 1900, not since наб
2022-07-19 11:47 ` Alejandro Colomar
2022-07-19 11:50 ` Alejandro Colomar
2022-07-19 1:56 ` [PATCH 4/5] tm.3type: describe tm_zone, tm_gmtoff наб
2022-07-19 12:17 ` Alejandro Colomar
2022-07-19 12:19 ` Alejandro Colomar
2022-07-19 15:28 ` наб
2022-07-22 3:33 ` G. Branden Robinson
2022-07-22 10:57 ` Alejandro Colomar (man-pages)
2022-07-22 22:20 ` man(7) DS and DE macros (was: [PATCH 4/5] tm.3type: describe tm_zone, tm_gmtoff) G. Branden Robinson
2022-07-22 23:47 ` Alejandro Colomar
2025-10-29 9:07 ` [PATCH 4/5] tm.3type: describe tm_zone, tm_gmtoff G. Branden Robinson
2025-10-29 10:21 ` Alejandro Colomar
2025-10-29 22:30 ` G. Branden Robinson
2025-10-29 22:53 ` Alejandro Colomar
2022-07-19 1:58 ` [PATCH 5/5] ctime.3: remove struct tm vestigia наб
2022-07-19 12:18 ` Alejandro Colomar
2022-07-19 11:38 ` [PATCH 1/5] tm.3type: tfix Alejandro Colomar
2022-07-19 15:35 ` [PATCH v2 1/4] tm.3type: align ranges наб
2022-07-19 18:38 ` [PATCH v3 1/2] tm.3type: describe tm_zone, tm_gmtoff наб
2022-07-19 20:33 ` Alejandro Colomar [this message]
2022-07-19 21:36 ` наб
2022-07-19 22:09 ` Alejandro Colomar
2022-07-19 22:35 ` [PATCH v4 " наб
2022-07-19 22:36 ` [PATCH v4 2/2] ctime.3: remove struct tm vestigia наб
2022-07-20 8:30 ` Alejandro Colomar
2022-07-19 18:39 ` [PATCH v3 " наб
2022-07-19 15:35 ` [PATCH v2 2/4] tm.3type: widen member alignment to take up to const char * наб
2022-07-19 15:59 ` Alejandro Colomar
2022-07-19 15:35 ` [PATCH v2 3/4] tm.3type: describe tm_zone, tm_gmtoff наб
2022-07-19 17:11 ` Alejandro Colomar
2022-07-19 15:35 ` [PATCH v2 4/4] ctime.3: remove struct tm vestigia наб
2022-07-19 17:12 ` Alejandro Colomar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2a850b7d-a888-9577-6c0a-84deb542c0b9@gmail.com \
--to=alx.manpages@gmail.com \
--cc=linux-man@vger.kernel.org \
--cc=nabijaczleweli@nabijaczleweli.xyz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox