Re: [PATCH v2 1/4] man/man3/str*.3: NAME: Explain the names

[email protected] Fri, 24 Jul 2026 13:52:10 -0500
Newsgroups org.kernel.vger.linux-man
Message-ID <[email protected]>
On Wed, Jul 08, 2026 at 05:09:10PM +0200, Alejandro Colomar wrote:
> Reported-by: "Serge E. Hallyn" <[email protected]>
> Cc: Mark Harris <[email protected]>
> Cc: "G. Branden Robinson" <[email protected]>
> Cc: Douglas McIlroy <[email protected]>
> Signed-off-by: Alejandro Colomar <[email protected]>

Most of these look good to me, just a few notes:

> ---
>  man/man3/strcasecmp.3 | 2 +-
>  man/man3/strchr.3     | 2 +-
>  man/man3/strcmp.3     | 2 +-
>  man/man3/strcoll.3    | 2 +-
>  man/man3/strcpy.3     | 2 +-
>  man/man3/strdup.3     | 2 +-
>  man/man3/strerror.3   | 5 +++--
>  man/man3/strfmon.3    | 2 +-
>  man/man3/strfromd.3   | 3 +--
>  man/man3/strfry.3     | 2 +-
>  man/man3/strftime.3   | 2 +-
>  man/man3/string.3     | 5 +----
>  man/man3/strlen.3     | 2 +-
>  man/man3/strncat.3    | 5 +----
>  man/man3/strnlen.3    | 2 +-
>  man/man3/strpbrk.3    | 2 +-
>  man/man3/strptime.3   | 2 +-
>  man/man3/strsep.3     | 2 +-
>  man/man3/strsignal.3  | 2 +-
>  man/man3/strspn.3     | 2 +-
>  man/man3/strtod.3     | 2 +-
>  man/man3/strtoimax.3  | 2 +-
>  man/man3/strtok.3     | 2 +-
>  man/man3/strtol.3     | 2 +-
>  man/man3/strtoul.3    | 2 +-
>  man/man3/strverscmp.3 | 2 +-
>  man/man3/strxfrm.3    | 2 +-
>  27 files changed, 29 insertions(+), 35 deletions(-)
> 
> diff --git a/man/man3/strcasecmp.3 b/man/man3/strcasecmp.3
> index aa554341da4c..65941ddf6524 100644
> --- a/man/man3/strcasecmp.3
> +++ b/man/man3/strcasecmp.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strcasecmp 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strcasecmp, strncasecmp \- compare two strings ignoring case
> +strcasecmp, strncasecmp \- strings case-insensitive compare
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strchr.3 b/man/man3/strchr.3
> index 4e6a96d8cde6..12d08f63ddbb 100644
> --- a/man/man3/strchr.3
> +++ b/man/man3/strchr.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strchr 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strchr \- locate character in string
> +strchr \- string search character
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strcmp.3 b/man/man3/strcmp.3
> index a088412917d2..0a573e52d936 100644
> --- a/man/man3/strcmp.3
> +++ b/man/man3/strcmp.3
> @@ -7,7 +7,7 @@
>  .\"
>  .TH strcmp 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strcmp, strncmp \- compare two strings
> +strcmp, strncmp \- strings compare
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strcoll.3 b/man/man3/strcoll.3
> index 32d620f52c51..1f9eb2441b13 100644
> --- a/man/man3/strcoll.3
> +++ b/man/man3/strcoll.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strcoll 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strcoll \- compare two strings using the current locale
> +strcoll \- strings LC_COLLATE compare
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strcpy.3 b/man/man3/strcpy.3
> index cea24ff04020..d4d0e4246545 100644
> --- a/man/man3/strcpy.3
> +++ b/man/man3/strcpy.3
> @@ -5,7 +5,7 @@
>  .\"
>  .TH strcpy 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strcpy, strcat \- copy or catenate a string
> +strcpy, strcat \- string copy/catenate
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strdup.3 b/man/man3/strdup.3
> index b4026ed41b4a..05671cd936c2 100644
> --- a/man/man3/strdup.3
> +++ b/man/man3/strdup.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strdup 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strdup, strndup \- duplicate a string
> +strdup, strndup \- string duplicate

string [bounded] duplicate
maybe?

>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strerror.3 b/man/man3/strerror.3
> index e3306c7e1608..637d1d812d52 100644
> --- a/man/man3/strerror.3
> +++ b/man/man3/strerror.3
> @@ -7,8 +7,9 @@
>  .\"
>  .TH strerror 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strerror, strerrorname_np, strerrordesc_np, strerror_r, strerror_l \-
> -return string describing error number
> +strerror, strerrorname_np, strerrordesc_np, strerror_r, strerror_l
> +\-
> +string error-string
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strfmon.3 b/man/man3/strfmon.3
> index e0d9790395cb..dee915c8a9f4 100644
> --- a/man/man3/strfmon.3
> +++ b/man/man3/strfmon.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strfmon 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strfmon, strfmon_l \- convert monetary value to a string
> +strfmon, strfmon_l \- string format monetary value
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strfromd.3 b/man/man3/strfromd.3
> index c221f82df0a8..fa8a10feec01 100644
> --- a/man/man3/strfromd.3
> +++ b/man/man3/strfromd.3
> @@ -6,8 +6,7 @@
>  .\"
>  .TH strfromd 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strfromd, strfromf, strfroml \- convert a floating-point value into
> -a string
> +strfromd, strfromf, strfroml \- string from float
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strfry.3 b/man/man3/strfry.3
> index 99917e4a6261..54ea313ea262 100644
> --- a/man/man3/strfry.3
> +++ b/man/man3/strfry.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strfry 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strfry \- randomize a string
> +strfry \- string fry

Maybe at least 'string fry (randomize)' ?  Because while stirfry
is amusing, it's confusing if you haven't heard it before.

>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strftime.3 b/man/man3/strftime.3
> index 66351f6bd43a..bdba4089b934 100644
> --- a/man/man3/strftime.3
> +++ b/man/man3/strftime.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strftime 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strftime \- format date and time
> +strftime \- string format date and time
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/string.3 b/man/man3/string.3
> index 89fe51fba609..2141822e1fd1 100644
> --- a/man/man3/string.3
> +++ b/man/man3/string.3
> @@ -5,10 +5,7 @@
>  .\"
>  .TH string 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -stpcpy, strcasecmp, strcat, strchr, strcmp, strcoll, strcpy, strcspn,
> -strdup, strfry, strlen, strncat, strncmp, strncpy, strncasecmp, strpbrk,
> -strrchr, strsep, strspn, strstr, strtok, strxfrm
> -\- string operations
> +string \- string operations
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strlen.3 b/man/man3/strlen.3
> index 1dd99bd8e250..639bdd6ac2d2 100644
> --- a/man/man3/strlen.3
> +++ b/man/man3/strlen.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strlen 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strlen \- calculate the length of a string
> +strlen \- string length
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strncat.3 b/man/man3/strncat.3
> index 4b0217b02673..dd39d54939d9 100644
> --- a/man/man3/strncat.3
> +++ b/man/man3/strncat.3
> @@ -5,10 +5,7 @@
>  .\"
>  .TH strncat 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strncat
> -\-
> -append non-null bytes from a source array to a string,
> -and null-terminate the result
> +strncat \- nonstring catenate

why nonstring?  The source string doesn't *have* to be a string,
but can be, right?  (IIRC, you define a nonstring as an array
of given length that doesn't necessarily end in \0?  I could be
mis-remembering)

string bounded concatente maybe?

I think it helps the quick association in the mind if the start
of the string matches more closely (str).

>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strnlen.3 b/man/man3/strnlen.3
> index fbd719ee4888..553a39a9ec7a 100644
> --- a/man/man3/strnlen.3
> +++ b/man/man3/strnlen.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strnlen 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strnlen \- determine the length of a fixed-size string
> +strnlen \- nonstring length

string bounded length?

>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strpbrk.3 b/man/man3/strpbrk.3
> index 1f56cf18dbac..6e5b79a48bbe 100644
> --- a/man/man3/strpbrk.3
> +++ b/man/man3/strpbrk.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strpbrk 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strpbrk \- search a string for any of a set of bytes
> +strpbrk \- string search characters

does the p stand for returning pointer?

>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strptime.3 b/man/man3/strptime.3
> index 979bffea7bf8..4502acfe6d1e 100644
> --- a/man/man3/strptime.3
> +++ b/man/man3/strptime.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strptime 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strptime \- convert a string representation of time to a time tm structure
> +strptime \- string parse time
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strsep.3 b/man/man3/strsep.3
> index 46ba6c5819bd..98859f64909f 100644
> --- a/man/man3/strsep.3
> +++ b/man/man3/strsep.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strsep 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strsep \- extract token from string
> +strsep \- string separate
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strsignal.3 b/man/man3/strsignal.3
> index 4a4e8c86e71d..964a5e5aacaf 100644
> --- a/man/man3/strsignal.3
> +++ b/man/man3/strsignal.3
> @@ -8,7 +8,7 @@
>  .TH strsignal 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
>  strsignal, sigabbrev_np, sigdescr_np, sys_siglist \-
> -return string describing signal
> +string signal description
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strspn.3 b/man/man3/strspn.3
> index fe4414317df6..7c85d209c59d 100644
> --- a/man/man3/strspn.3
> +++ b/man/man3/strspn.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strspn 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strspn, strcspn \- get length of a prefix substring
> +strspn, strcspn \- string [complementary] span
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strtod.3 b/man/man3/strtod.3
> index 15147ee51006..84a9934ba267 100644
> --- a/man/man3/strtod.3
> +++ b/man/man3/strtod.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strtod 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strtod, strtof, strtold \- convert ASCII string to floating-point number
> +strtod, strtof, strtold \- string to float
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strtoimax.3 b/man/man3/strtoimax.3
> index 71267754ed7a..08413a9f8101 100644
> --- a/man/man3/strtoimax.3
> +++ b/man/man3/strtoimax.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strtoimax 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strtoimax, strtoumax \- convert string to integer
> +strtoimax, strtoumax \- string to [u]intmax_t
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strtok.3 b/man/man3/strtok.3
> index 2d733e886086..4ce708ecbcb4 100644
> --- a/man/man3/strtok.3
> +++ b/man/man3/strtok.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strtok 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strtok \- extract tokens from strings
> +strtok \- string tokenize
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strtol.3 b/man/man3/strtol.3
> index f88b717780f3..4d9c49eaf28a 100644
> --- a/man/man3/strtol.3
> +++ b/man/man3/strtol.3
> @@ -7,7 +7,7 @@
>  .\"
>  .TH strtol 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strtol, strtoll, strtoq \- convert a string to a long integer
> +strtol, strtoll, strtoq \- string to long int
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strtoul.3 b/man/man3/strtoul.3
> index a6f6fd4a8ada..670fcb3868a1 100644
> --- a/man/man3/strtoul.3
> +++ b/man/man3/strtoul.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strtoul 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strtoul, strtoull, strtouq \- convert a string to an unsigned long integer
> +strtoul, strtoull, strtouq \- string to unsigned long int
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strverscmp.3 b/man/man3/strverscmp.3
> index d072471b1431..caadb9717a3b 100644
> --- a/man/man3/strverscmp.3
> +++ b/man/man3/strverscmp.3
> @@ -7,7 +7,7 @@
>  .\"
>  .TH strverscmp 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strverscmp \- compare two version strings
> +strverscmp \- strings version compare
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> diff --git a/man/man3/strxfrm.3 b/man/man3/strxfrm.3
> index d4ac57006eb0..a892bf4c813b 100644
> --- a/man/man3/strxfrm.3
> +++ b/man/man3/strxfrm.3
> @@ -6,7 +6,7 @@
>  .\"
>  .TH strxfrm 3 (date) "Linux man-pages (unreleased)"
>  .SH NAME
> -strxfrm \- string transformation
> +strxfrm \- string transform
>  .SH LIBRARY
>  Standard C library
>  .RI ( libc ,\~ \-lc )
> -- 
> 2.53.0
>