* [PATCH v2] man/man3/strftime.3: Check parameter
@ 2025-08-18 17:45 dave
2025-08-19 11:24 ` Alejandro Colomar
0 siblings, 1 reply; 6+ messages in thread
From: dave @ 2025-08-18 17:45 UTC (permalink / raw)
To: alx; +Cc: linux-man, Dr. David Alan Gilbert
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>
---
v2
Use a more standard Usage: format.
man/man3/strftime.3 | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/man/man3/strftime.3 b/man/man3/strftime.3
index 4a3f805bb..a27dfd01b 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,"Usage: %s: <format\-string>\[rs]n", argv[0]);
+ exit(EXIT_FAILURE);
+ }
\&
t = time(NULL);
tmp = localtime(&t);
--
2.50.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH v2] man/man3/strftime.3: Check parameter 2025-08-18 17:45 [PATCH v2] man/man3/strftime.3: Check parameter dave @ 2025-08-19 11:24 ` Alejandro Colomar 2025-08-19 11:46 ` Dr. David Alan Gilbert 0 siblings, 1 reply; 6+ messages in thread From: Alejandro Colomar @ 2025-08-19 11:24 UTC (permalink / raw) To: dave; +Cc: linux-man [-- Attachment #1: Type: text/plain, Size: 1278 bytes --] Hi Dave, On Mon, Aug 18, 2025 at 06:45:53PM +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> Thanks! I've applied the patch. (But see some minor comment below.) Have a lovely day! Alex > --- > v2 > Use a more standard Usage: format. > > man/man3/strftime.3 | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/man/man3/strftime.3 b/man/man3/strftime.3 > index 4a3f805bb..a27dfd01b 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,"Usage: %s: <format\-string>\[rs]n", argv[0]); CI detected some issue in this line of code: remote: .tmp/man/man3/strftime.3.d/strftime.c:14: Missing space after , [whitespace/comma] [3] I've amended it with a space. > + exit(EXIT_FAILURE); > + } > \& > t = time(NULL); > tmp = localtime(&t); > -- > 2.50.1 > -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] man/man3/strftime.3: Check parameter 2025-08-19 11:24 ` Alejandro Colomar @ 2025-08-19 11:46 ` Dr. David Alan Gilbert 2025-08-19 12:50 ` Alejandro Colomar 0 siblings, 1 reply; 6+ messages in thread From: Dr. David Alan Gilbert @ 2025-08-19 11:46 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man * Alejandro Colomar (alx@kernel.org) wrote: > Hi Dave, > > On Mon, Aug 18, 2025 at 06:45:53PM +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> > > Thanks! I've applied the patch. (But see some minor comment below.) Thanks! Is that something that I can spot locally? Since I seem to be working my way through the set checking most of the examples, I'm probably going to be posting some more so I should get the checks running. I'm trying to run: make -R lint build-all check but it seems to be missing 'checkpatch' and I'm not sure which checkpatch that is. (I'm on Fedora 42). Dave > > Have a lovely day! > Alex > > > --- > > v2 > > Use a more standard Usage: format. > > > > man/man3/strftime.3 | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/man/man3/strftime.3 b/man/man3/strftime.3 > > index 4a3f805bb..a27dfd01b 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,"Usage: %s: <format\-string>\[rs]n", argv[0]); > > CI detected some issue in this line of code: > > remote: .tmp/man/man3/strftime.3.d/strftime.c:14: Missing space after , [whitespace/comma] [3] > > I've amended it with a space. > > > + 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 |_______/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] man/man3/strftime.3: Check parameter 2025-08-19 11:46 ` Dr. David Alan Gilbert @ 2025-08-19 12:50 ` Alejandro Colomar 2025-08-19 18:03 ` Dr. David Alan Gilbert 0 siblings, 1 reply; 6+ messages in thread From: Alejandro Colomar @ 2025-08-19 12:50 UTC (permalink / raw) To: Dr. David Alan Gilbert; +Cc: linux-man [-- Attachment #1: Type: text/plain, Size: 3221 bytes --] Hi Dave, On Tue, Aug 19, 2025 at 11:46:07AM +0000, Dr. David Alan Gilbert wrote: > * Alejandro Colomar (alx@kernel.org) wrote: > > Hi Dave, > > > > On Mon, Aug 18, 2025 at 06:45:53PM +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> > > > > Thanks! I've applied the patch. (But see some minor comment below.) > > Thanks! > Is that something that I can spot locally? > Since I seem to be working my way through the set checking most of the > examples, I'm probably going to be posting some more so I should > get the checks running. Yes, you can. > I'm trying to run: > make -R lint build-all check This is essentially what it does. Here's the full script I use in my server (the linters are run on pushes to refs/heads/contrib): alx@www:/srv/src/alx/linux/man-pages/man-pages.git$ cat hooks/post-update; #!/bin/bash set -uo pipefail; cd /home/alx/src/linux/man-pages/man-pages/.bare.git/; unset $(git rev-parse --local-env-vars); git fetch srv >/dev/null; export LANG=C.utf8; test "$1" = "refs/heads/main" \ && ( cd /home/alx/src/linux/man-pages/man-pages/main/; git reset srv/main --hard >/dev/null; export pdfdir="/srv/www/share/dist/man-pages/git/HEAD"; export DISTNAME="man-pages-HEAD"; make -R install-pdf-book 2>&1 \ | sed '/bashrc.*PS1/d'; echo '$?: '"$?"; ) test "$1" = "refs/heads/contrib" \ && ( set -Ee; export PS1=; cd /home/alx/src/linux/man-pages/man-pages/contrib/; old="$(git rev-parse HEAD)"; git reset srv/contrib --hard >/dev/null; make_opts=''; make_opts="$make_opts -R"; make_opts="$make_opts -j4"; make_opts="$make_opts -Otarget"; make_opts="$make_opts --no-print-directory"; export VERSION=contrib; #export GROFFBINDIR=/opt/local/gnu/groff/deri-gropdf-ng/bin; #export PRECONV=$GROFFBINDIR/preconv; #export PIC=$GROFFBINDIR/pic; #export TBL=$GROFFBINDIR/tbl; #export EQN=$GROFFBINDIR/eqn; #export TROFF=$GROFFBINDIR/troff; #export GROPDF=$GROFFBINDIR/gropdf; make_target() { make $make_opts "$@" 2>&1 \ | sed '/bashrc.*PS1/d'; } make_target lint; make_target build-pdf-book; make_target build-all; make_target check; make_target dist; echo '$?: '"$?"; echo 'URI:'; git rev-list "$old..HEAD" \ | sed 's,.*,https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib\&id=&,'; ) > but it seems to be missing 'checkpatch' and I'm not sure which checkpatch > that is. (I'm on Fedora 42). Yup, checkpatch is the one you can't run. I have a fork of the kernel's checkpatch, which I want to eventually package. I need to find some time to do it. For now, you should be able to do what CONTRIBUTING.d/lint says about make's -t and -k options, which will allow you to ignore those failures. Let me know if that doesn't work. Have a lovely day! Alex -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] man/man3/strftime.3: Check parameter 2025-08-19 12:50 ` Alejandro Colomar @ 2025-08-19 18:03 ` Dr. David Alan Gilbert 2025-08-20 12:30 ` Alejandro Colomar 0 siblings, 1 reply; 6+ messages in thread From: Dr. David Alan Gilbert @ 2025-08-19 18:03 UTC (permalink / raw) To: Alejandro Colomar; +Cc: linux-man * Alejandro Colomar (alx@kernel.org) wrote: > Hi Dave, > > On Tue, Aug 19, 2025 at 11:46:07AM +0000, Dr. David Alan Gilbert wrote: > > * Alejandro Colomar (alx@kernel.org) wrote: > > > Hi Dave, > > > > > > On Mon, Aug 18, 2025 at 06:45:53PM +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> > > > > > > Thanks! I've applied the patch. (But see some minor comment below.) > > > > Thanks! > > Is that something that I can spot locally? > > Since I seem to be working my way through the set checking most of the > > examples, I'm probably going to be posting some more so I should > > get the checks running. > > Yes, you can. > > > I'm trying to run: > > make -R lint build-all check > > This is essentially what it does. Here's the full script I use in my > server (the linters are run on pushes to refs/heads/contrib): > > alx@www:/srv/src/alx/linux/man-pages/man-pages.git$ cat hooks/post-update; > #!/bin/bash > > set -uo pipefail; > > cd /home/alx/src/linux/man-pages/man-pages/.bare.git/; > > unset $(git rev-parse --local-env-vars); > git fetch srv >/dev/null; > > export LANG=C.utf8; > > test "$1" = "refs/heads/main" \ > && ( > cd /home/alx/src/linux/man-pages/man-pages/main/; > > git reset srv/main --hard >/dev/null; > > export pdfdir="/srv/www/share/dist/man-pages/git/HEAD"; > export DISTNAME="man-pages-HEAD"; > > make -R install-pdf-book 2>&1 \ > | sed '/bashrc.*PS1/d'; > echo '$?: '"$?"; > ) > > test "$1" = "refs/heads/contrib" \ > && ( > set -Ee; > > export PS1=; > cd /home/alx/src/linux/man-pages/man-pages/contrib/; > > old="$(git rev-parse HEAD)"; > > git reset srv/contrib --hard >/dev/null; > > make_opts=''; > make_opts="$make_opts -R"; > make_opts="$make_opts -j4"; > make_opts="$make_opts -Otarget"; > make_opts="$make_opts --no-print-directory"; > > export VERSION=contrib; > #export GROFFBINDIR=/opt/local/gnu/groff/deri-gropdf-ng/bin; > #export PRECONV=$GROFFBINDIR/preconv; > #export PIC=$GROFFBINDIR/pic; > #export TBL=$GROFFBINDIR/tbl; > #export EQN=$GROFFBINDIR/eqn; > #export TROFF=$GROFFBINDIR/troff; > #export GROPDF=$GROFFBINDIR/gropdf; > > make_target() > { > make $make_opts "$@" 2>&1 \ > | sed '/bashrc.*PS1/d'; > } > > make_target lint; > make_target build-pdf-book; > make_target build-all; > make_target check; > make_target dist; > echo '$?: '"$?"; > > echo 'URI:'; > git rev-list "$old..HEAD" \ > | sed 's,.*,https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib\&id=&,'; > ) > > > but it seems to be missing 'checkpatch' and I'm not sure which checkpatch > > that is. (I'm on Fedora 42). > > Yup, checkpatch is the one you can't run. I have a fork of the kernel's > checkpatch, which I want to eventually package. I need to find some > time to do it. > > For now, you should be able to do what CONTRIBUTING.d/lint says about > make's -t and -k options, which will allow you to ignore those failures. > Let me know if that doesn't work. OK great, I'll give those a go and hopefully you'll see some more patches! Dave > > Have a lovely day! > Alex > > -- > <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 |_______/ ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v2] man/man3/strftime.3: Check parameter 2025-08-19 18:03 ` Dr. David Alan Gilbert @ 2025-08-20 12:30 ` Alejandro Colomar 0 siblings, 0 replies; 6+ messages in thread From: Alejandro Colomar @ 2025-08-20 12:30 UTC (permalink / raw) To: Dr. David Alan Gilbert; +Cc: linux-man [-- Attachment #1: Type: text/plain, Size: 933 bytes --] Hi Dave, On Tue, Aug 19, 2025 at 06:03:14PM +0000, Dr. David Alan Gilbert wrote: > > > but it seems to be missing 'checkpatch' and I'm not sure which checkpatch > > > that is. (I'm on Fedora 42). > > > > Yup, checkpatch is the one you can't run. I have a fork of the kernel's > > checkpatch, which I want to eventually package. I need to find some > > time to do it. > > > > For now, you should be able to do what CONTRIBUTING.d/lint says about > > make's -t and -k options, which will allow you to ignore those failures. > > Let me know if that doesn't work. > > OK great, I'll give those a go and hopefully you'll see some more patches! Thanks!! Actually, it's even simpler. I hadn't thought of it, but you can do export CHECKPATCH=true make -R lint build-all check And that should make all checkpatch-related targets succeed. :) Cheers, Alex -- <https://www.alejandro-colomar.es/> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-08-20 12:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-18 17:45 [PATCH v2] man/man3/strftime.3: Check parameter dave 2025-08-19 11:24 ` Alejandro Colomar 2025-08-19 11:46 ` Dr. David Alan Gilbert 2025-08-19 12:50 ` Alejandro Colomar 2025-08-19 18:03 ` Dr. David Alan Gilbert 2025-08-20 12:30 ` Alejandro Colomar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox