]> git.ipfire.org Git - thirdparty/man-pages.git/commitdiff
ctime.3: SYNOPSIS: Use VLA notation for [as]ctime_r() buffer
authorAlejandro Colomar <alx.manpages@gmail.com>
Wed, 20 Oct 2021 15:46:20 +0000 (17:46 +0200)
committerAlejandro Colomar <alx.manpages@gmail.com>
Mon, 5 Sep 2022 01:48:11 +0000 (03:48 +0200)
As N2417 (a proposal for C2x that was not accepted) suggests.
This syntax is very informative, and also, if used by library
implementers, can improve static analysis.

Since it is backwards compatible with pointer syntax, we can do
this.  Also, the reason for not being accepted, as Jens noted,
was incompatibility with C++.  But IMO, that's not something that
we should care too much.  Users of other languages should know
what to expect when reading C code, and are expected to know C/C++
incompatibilities.

Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Cc: Jens Gustedt <jens.gustedt@loria.fr>
Cc: Glibc <libc-alpha@sourceware.org>
man3/ctime.3

index 8b48c928beaeddeacdd1e4b1098f00408940d562..1424c6baa86f9681199e3f715ac7b434382b7c40 100644 (file)
@@ -24,10 +24,12 @@ Standard C library
 .B #include <time.h>
 .PP
 .BI "char *asctime(const struct tm *" tm );
-.BI "char *asctime_r(const struct tm *restrict " tm ", char *restrict " buf );
+.BI "char *asctime_r(const struct tm *restrict " tm ,
+.BI "                    char " buf "[restrict 26]);"
 .PP
 .BI "char *ctime(const time_t *" timep );
-.BI "char *ctime_r(const time_t *restrict " timep ", char *restrict " buf );
+.BI "char *ctime_r(const time_t *restrict " timep ,
+.BI "                    char " buf "[restrict 26]);"
 .PP
 .BI "struct tm *gmtime(const time_t *" timep );
 .BI "struct tm *gmtime_r(const time_t *restrict " timep ,