From: "Dr. David Alan Gilbert" <dave@treblig.org>
To: Alejandro Colomar <alx@kernel.org>
Cc: linux-man@vger.kernel.org
Subject: Re: [PATCH] man/man3/strftime.3: Check parameter
Date: Mon, 18 Aug 2025 17:46:31 +0000 [thread overview]
Message-ID: <aKNm9x_rz82AcvhJ@gallifrey> (raw)
In-Reply-To: <wwgiyenaug2vquoevgfjzx3ml4xzzwbcarbk677isrwvya36ak@hzv5yz6zurdi>
* Alejandro Colomar (alx@kernel.org) wrote:
> Hi David,
>
> On Mon, Aug 18, 2025 at 05:56:35PM +0100, dave@treblig.org wrote:
> > From: "Dr. David Alan Gilbert" <dave@treblig.org>
> >
> > The strftime example requires a format paramter. If you don't
> > pass one it crashes.
> > Check for the parameter.
> >
> > Signed-off-by: Dr. David Alan Gilbert <dave@treblig.org>
> > ---
> > man/man3/strftime.3 | 5 +++++
> > 1 file changed, 5 insertions(+)
> >
> > diff --git a/man/man3/strftime.3 b/man/man3/strftime.3
> > index 4a3f805bb..3c1108b36 100644
> > --- a/man/man3/strftime.3
> > +++ b/man/man3/strftime.3
> > @@ -739,6 +739,11 @@ .SS Program source
> > char outstr[200];
> > time_t t;
> > struct tm *tmp;
> > +\&
> > + if (argc != 2) {
> > + fprintf(stderr,"%s: format-string\[rs]n", argv[0]);
>
> Please make it consistent with examples from other manual pages. See:
Thanks for the review,
V2 sent, see: 20250818174553.70132-1-dave@treblig.org
Dave
> $ find man/ -type f \
> | xargs mansect EXAMPLES \
> | man /dev/stdin \
> | grep fprintf.*stderr.*argv.0;
> fprintf(stderr, "Usage: %s MOUNT\n", argv[0]);
> fprintf(stderr, "Usage: %s <file>\n", argv[0]);
> fprintf(stderr, "Usage: %s device [output [input] ]\n", argv[0]);
> fprintf(stderr, "Usage: %s <source> <destination>\n", argv[0]);
> fprintf(stderr, "%s <owner> <file>\n", argv[0]);
> fprintf(stderr, "Usage: %s shmid semid string\n", argv[0]);
> fprintf(stderr, "Usage: %s path\n", argv[0]);
> fprintf(stderr, "Usage: %s path\n", argv[0]);
> fprintf(stderr, "Usage: %s [mount-path]\n", argv[0]);
> fprintf(stderr, "%s /proc/PID/ns/FILE cmd args...\n", argv[0]);
> fprintf(stderr, "Usage: %s <child-hostname>\n", argv[0]);
> fprintf(stderr, "Usage: %s <pid>\n", argv[0]);
> fprintf(stderr, "%s file offset [length]\n", argv[0]);
> fprintf(stderr, "Usage: %s <path>\n", argv[0]);
> fprintf(stderr, "Usage: %s file...\n", argv[0]);
> fprintf(stderr, "Usage: %s <file>\n", argv[0]);
> fprintf(stderr, "Usage: %s <path>\n", argv[0]);
> fprintf(stderr, "Usage: %s <file-to-exec>\n", argv[0]);
> fprintf(stderr, "Usage: %s <num>...\n", argv[0]);
> fprintf(stderr, "Usage: %s num-pages\n", argv[0]);
> fprintf(stderr, "Usage: %s <pid> <signal>\n", argv[0]);
> fprintf(stderr, "Usage: %s <string>\n", argv[0]);
> fprintf(stderr, "%s name size [seals]\n", argv[0]);
> fprintf(stderr, "%s /proc/PID/fd/FD\n", argv[0]);
> fprintf(stderr, "Usage: %s '<num>...'\n", argv[0]);
> fprintf(stderr, "Usage: %s HOST...\n", argv[0]);
> fprintf(stderr, "Usage: %s <libpath>\n", argv[0]);
> fprintf(stderr, "%s response\n", argv[0]);
> fprintf(stderr, "Usage: %s <user> <ngroups>\n", argv[0]);
> fprintf(stderr, "Usage: %s str [base]\n", argv[0]);
> fprintf(stderr, "Usage: %s username\n", argv[0]);
> fprintf(stderr, "Usage: %s <file>\n", argv[0]);
> fprintf(stderr, "Usage: %s <num-cpus>\n", argv[0]);
> fprintf(stderr, "Usage: %s <string1> <string2>\n", argv[0]);
> fprintf(stderr, "Usage: %s <num> <num>\n", argv[0]);
> fprintf(stderr, "%s <dotted-address>\n", argv[0]);
> fprintf(stderr, "Usage: %s <mq-name>\n", argv[0]);
> fprintf(stderr, "Usage: %s <num>\n", argv[0]);
> fprintf(stderr, "Usage: %s <string>...\n", argv[0]);
> fprintf(stderr, "Usage: %s locale1 [locale2]\n", argv[0]);
> fprintf(stderr, "Usage: %s string delim subdelim\n", argv[0]);
> fprintf(stderr, "Usage: %s [-c] string...\n", argv[0]);
> fprintf(stderr, "Usage: %s <real> <imag>\n", argv[0]);
> fprintf(stderr, "Usage: %s <real> <imag>\n", argv[0]);
> fprintf(stderr, "Usage: %s mq-name\n", argv[0]);
> fprintf(stderr, "Usage: %s string\n", argv[0]);
> fprintf(stderr, "Usage: %s port\n", argv[0]);
> fprintf(stderr, "Usage: %s host port msg...\n", argv[0]);
> fprintf(stderr, "Usage: %s <real> <imag>\n", argv[0]);
> fprintf(stderr, "\nUsage: %s -o <suboptstring>\n", argv[0]);
> fprintf(stderr, "%s num-calls\n", argv[0]);
> fprintf(stderr, "Usage: %s {i4|i6|<num>} string\n", argv[0]);
> fprintf(stderr, "Usage: %s <seed> <nloops>\n", argv[0]);
> fprintf(stderr, "Usage: %s <str1> <str2> [<n>]\n", argv[0]);
> fprintf(stderr, "Usage: %s <locale> <string>\n", argv[0]);
> fprintf(stderr, "Usage: %s /shm-path\n", argv[0]);
> fprintf(stderr, "Usage: %s /shm-path string\n", argv[0]);
> fprintf(stderr, "Usage: %s yyyy mm dd HH MM SS isdst\n", argv[0]);
> fprintf(stderr, "Usage: %s <real> <imag>\n", argv[0]);
> fprintf(stderr, "%s <process-ID>\n", argv[0]);
> fprintf(stderr, "Usage: %s backing-file\n", argv[0]);
>
>
> Have a lovely day!
> Alex
>
> > + exit(EXIT_FAILURE);
> > + }
> > \&
> > t = time(NULL);
> > tmp = localtime(&t);
> > --
> > 2.50.1
> >
>
> --
> <https://www.alejandro-colomar.es/>
--
-----Open up your eyes, open up your mind, open up your code -------
/ Dr. David Alan Gilbert | Running GNU/Linux | Happy \
\ dave @ treblig.org | | In Hex /
\ _________________________|_____ http://www.treblig.org |_______/
prev parent reply other threads:[~2025-08-18 17:46 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-18 16:56 [PATCH] man/man3/strftime.3: Check parameter dave
2025-08-18 17:14 ` Alejandro Colomar
2025-08-18 17:46 ` Dr. David Alan Gilbert [this message]
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=aKNm9x_rz82AcvhJ@gallifrey \
--to=dave@treblig.org \
--cc=alx@kernel.org \
--cc=linux-man@vger.kernel.org \
/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