Re: [PATCH] ffs.3: all these functions live in <strings.h>.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux