public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx@kernel.org>
To: enh <enh@google.com>
Cc: linux-man <linux-man@vger.kernel.org>,
	"Alejandro Colomar (man-pages)" <alx.manpages@gmail.com>
Subject: Re: [PATCH] ffs.3: all these functions live in <strings.h>.
Date: Tue, 14 Nov 2023 11:20:17 +0100	[thread overview]
Message-ID: <ZVNJ4qs6k5rMCB4I@debian> (raw)
In-Reply-To: <CAJgzZorddCz168wpwWTkq61eBxrU6C7iU2cUcWooUS7E8N8DWQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3138 bytes --]

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@google.com>
> ---
>  man3/ffs.3 | 6 ------
>  1 file changed, 6 deletions(-)

> From 2862b4c94c01fda639fc1dd1fb94479eee1712b9 Mon Sep 17 00:00:00 2001
> From: Elliott Hughes <enh@google.com>
> 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@google.com>

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 #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      reply	other threads:[~2023-11-14 10:20 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-14  0:51 [PATCH] ffs.3: all these functions live in <strings.h> enh
2023-11-14 10:20 ` Alejandro Colomar [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=ZVNJ4qs6k5rMCB4I@debian \
    --to=alx@kernel.org \
    --cc=alx.manpages@gmail.com \
    --cc=enh@google.com \
    --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