Hi Elliott, On Mon, Nov 13, 2023 at 04:51:00PM -0800, enh wrote: > In most cases you'll get them transitively through <string.h>, but it's > misleading for the man page to claim that they're _in_ <string.h>, and > especially weird to claim they're in _different_ headers from each > other! Indeed. $ grepc -l ffs /usr/include/ /usr/include/strings.h $ grepc -l ffsl /usr/include/ /usr/include/strings.h $ grepc -l ffsll /usr/include/ /usr/include/strings.h > > This is also true of Apple's headers, and FreeBSD (the other BSDs only > have ffs(), not its siblings). $ pwd /home/alx/src/bsd/freebsd/main $ find . -type f | grep '/include/.*\.h$' | xargs grep -l ffs | xargs grepc -l ffs ./include/strings.h $ find . -type f | grep '/include/.*\.h$' | xargs grep -l ffs | xargs grepc -l ffsl ./include/strings.h $ find . -type f | grep '/include/.*\.h$' | xargs grep -l ffs | xargs grepc -l ffsll ./include/strings.h $ pwd /home/alx/src/bsd/openbsd/master $ find . -type f | grep '/include/.*\.h$' | xargs grep -l ffs | xargs grepc -l ffs ./gnu/gcc/include/libiberty.h ./gnu/lib/libiberty/include/libiberty.h ./gnu/usr.bin/binutils-2.17/include/libiberty.h ./include/strings.h $ find . -type f | grep '/include/.*\.h$' | xargs grep -l ffs | xargs grepc -l ffsl $ find . -type f | grep '/include/.*\.h$' | xargs grep -l ffs | xargs grepc -l ffsll $ Maybe it was different in the old BSDs; I don't know. If anyone cares, they could send a patch for a HISTORY section. > > Signed-off-by: Elliott Hughes <enh@xxxxxxxxxx> > --- > man3/ffs.3 | 6 ------ > 1 file changed, 6 deletions(-) > From 2862b4c94c01fda639fc1dd1fb94479eee1712b9 Mon Sep 17 00:00:00 2001 > From: Elliott Hughes <enh@xxxxxxxxxx> > Date: Mon, 13 Nov 2023 16:46:43 -0800 > Subject: [PATCH] ffs.3: all these functions live in <strings.h>. > > In most cases you'll get them transitively through <string.h>, but it's > misleading for the man page to claim that they're _in_ <string.h>, and > especially weird to claim they're in _different_ headers from each > other! > > This is also true of Apple's headers, and FreeBSD (the other BSDs only > have ffs(), not its siblings). > > Signed-off-by: Elliott Hughes <enh@xxxxxxxxxx> Patch applied. Thanks! <https://www.alejandro-colomar.es/src/alx/linux/man-pages/man-pages.git/commit/?h=contrib&id=69b9ba5aa108dfdbe7df56b16152e6c90110c6ab> Cheers, Alex > --- > man3/ffs.3 | 6 ------ > 1 file changed, 6 deletions(-) > > diff --git a/man3/ffs.3 b/man3/ffs.3 > index 5a5e1c21c..aab5f1099 100644 > --- a/man3/ffs.3 > +++ b/man3/ffs.3 > @@ -22,9 +22,6 @@ Standard C library > .B #include <strings.h> > .P > .BI "int ffs(int " i ); > -.P > -.B #include <string.h> > -.P > .BI "int ffsl(long " i ); > .BI "int ffsll(long long " i ); > .fi > @@ -87,9 +84,6 @@ T{ > .BR ffsll () > T} Thread safety MT-Safe > .TE > -.SH VERSIONS > -BSD systems have a prototype in > -.IR <string.h> . > .SH STANDARDS > .TP > .BR ffs () > -- > 2.42.0.869.gea05f2083d-goog > -- <https://www.alejandro-colomar.es/>
Attachment:
signature.asc
Description: PGP signature