All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.