From: Alejandro Colomar <alx@kernel.org>
To: linux-man@vger.kernel.org
Cc: Alejandro Colomar <alx@kernel.org>,
"Serge E. Hallyn" <serge@hallyn.com>
Subject: [PATCH v1 1/2] man/man3/str*.3: NAME: Explain the names
Date: Thu, 2 Jul 2026 14:33:29 +0200 [thread overview]
Message-ID: <e1446fbce9d76cea797cf058f74ab0a63b744205.1782995502.git.alx@kernel.org> (raw)
[-- Attachment #1: Type: text/plain, Size: 12277 bytes --]
Reported-by: "Serge E. Hallyn" <serge@hallyn.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
---
Hi Serge,
I finally took some time to do this that you asked me to do some time
ago. I've edited all the str*(3) manual pages so that the NAME section
actually explains the name of the function.
There's an exception: strpbrk(3). I refuse to explain that name. I've
explained it as if it were called strchrs(), which is a name that Plan9
uses for that function, and which would have been a better name for it.
(See patch 2/2).
Have a lovely day!
Alex
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..ea94f2a90224 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 collate
.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
.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
.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
.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
.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
.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
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next reply other threads:[~2026-07-02 12:33 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-02 12:33 Alejandro Colomar [this message]
2026-07-02 12:33 ` [PATCH v1 2/2] man/man3/strpbrk.3: BUGS: Clarify the NAME Alejandro Colomar
2026-07-03 5:03 ` [PATCH v1 1/2] man/man3/str*.3: NAME: Explain the names Mark Harris
2026-07-03 11:16 ` Alejandro Colomar
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=e1446fbce9d76cea797cf058f74ab0a63b744205.1782995502.git.alx@kernel.org \
--to=alx@kernel.org \
--cc=linux-man@vger.kernel.org \
--cc=serge@hallyn.com \
/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.