public inbox for linux-man@vger.kernel.org
 help / color / mirror / Atom feed
From: Alejandro Colomar <alx.manpages@gmail.com>
To: наб <nabijaczleweli@nabijaczleweli.xyz>
Cc: linux-man@vger.kernel.org
Subject: Re: [PATCH v4 5/6] regex.3, regex_t.3type, regmatch_t.3type, regoff_t.3type: Move in with regex.3
Date: Thu, 20 Apr 2023 16:07:47 +0200	[thread overview]
Message-ID: <bae6abb8-6f75-5176-97e5-64df6f446799@gmail.com> (raw)
In-Reply-To: <685b4fb7b12c8e99beedd75d65a000748b771ee4.1681995401.git.nabijaczleweli@nabijaczleweli.xyz>


[-- Attachment #1.1: Type: text/plain, Size: 3937 bytes --]

On 4/20/23 15:02, наб wrote:
> They're inextricably linked, not cross-referenced at all,
> and not used anywhere else.
> 
> Now that they (realistically) exist to the reader, add a note
> on how big nmatch can be; POSIX even says "The application developer
> should note that there is probably no reason for using a value of
> nmatch that is larger than preg−>re_nsub+1.".
> 
> Also remove the now-duplicate regmatch_t declaration.
> 
> Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz>
> ---
>  man3/regex.3              | 40 +++++++++++++++++++--------------------
>  man3type/regex_t.3type    |  1 +
>  man3type/regmatch_t.3type |  2 +-
>  man3type/regoff_t.3type   |  2 +-
>  4 files changed, 23 insertions(+), 22 deletions(-)
>  create mode 100644 man3type/regex_t.3type
> 
> diff --git a/man3/regex.3 b/man3/regex.3
> index 615e065de..6d203fa22 100644
> --- a/man3/regex.3
> +++ b/man3/regex.3
> @@ -15,7 +15,7 @@ regcomp, regexec, regerror, regfree \- POSIX regex functions
>  Standard C library
>  .RI ( libc ", " \-lc )
>  .SH SYNOPSIS
> -.nf
> +.EX
>  .B #include <regex.h>
>  .PP
>  .BI "int regcomp(regex_t *restrict " preg ", const char *restrict " regex ,
> @@ -43,7 +43,7 @@ size_t " errbuf_size );
>  .B } regmatch_t;
>  .PP
>  .BR typedef " /* ... */  " regoff_t;
> -.fi
> +.EE
>  .SH DESCRIPTION
>  .SS Compilation
>  .BR regcomp ()
> @@ -60,6 +60,21 @@ is a null-terminated string.
>  The locale must be the same when running
>  .BR regexec ().
>  .PP
> +After
> +.BR regcomp ()
> +succeeds,
> +.I preg->re_nsub
> +holds the number of subexpressions in
> +.IR regex .
> +Thus, a value of
> +.I preg->re_nsub
> ++ 1
> +passed as
> +.I nmatch
> +to
> +.BR regexec ()
> +is sufficient to capture all matches.
> +.PP
>  .I cflags
>  is the
>  bitwise OR
> @@ -196,22 +211,6 @@ must be at least
>  .IR N+1 .)
>  Any unused structure elements will contain the value \-1.
>  .PP
> -The
> -.I regmatch_t
> -structure which is the type of
> -.I pmatch
> -is defined in
> -.IR <regex.h> .
> -.PP
> -.in +4n
> -.EX
> -typedef struct {
> -    regoff_t rm_so;
> -    regoff_t rm_eo;
> -} regmatch_t;
> -.EE
> -.in
> -.PP
>  Each
>  .I rm_so
>  element that is not \-1 indicates the start offset of the next largest
> @@ -222,7 +221,7 @@ element indicates the end offset of the match,
>  which is the offset of the first character after the matching text.
>  .PP
>  .I regoff_t
> -It is a signed integer type
> +is a signed integer type
>  capable of storing the largest value that can be stored in either an
>  .I ptrdiff_t
>  type or a
> @@ -346,7 +345,8 @@ POSIX.1-2008.
>  POSIX.1-2001.
>  .PP
>  Prior to POSIX.1-2008,
> -the type was
> +.I regoff_t
> +was required to be
>  capable of storing the largest value that can be stored in either an
>  .I off_t
>  type or a
> diff --git a/man3type/regex_t.3type b/man3type/regex_t.3type
> new file mode 100644
> index 000000000..c0daaf0ff
> --- /dev/null
> +++ b/man3type/regex_t.3type

The link changes in the same patch that does the move are fine.
git should be smart enough to follow that, and it will help
humans too.  This short removal of the file might be worse than
than the previous approach, I fear.

> @@ -0,0 +1 @@
> +.so man3/regex.3
> diff --git a/man3type/regmatch_t.3type b/man3type/regmatch_t.3type
> index dc78f2cf2..c0daaf0ff 100644
> --- a/man3type/regmatch_t.3type
> +++ b/man3type/regmatch_t.3type
> @@ -1 +1 @@
> -.so man3type/regex_t.3type
> +.so man3/regex.3
> diff --git a/man3type/regoff_t.3type b/man3type/regoff_t.3type
> index dc78f2cf2..c0daaf0ff 100644
> --- a/man3type/regoff_t.3type
> +++ b/man3type/regoff_t.3type
> @@ -1 +1 @@
> -.so man3type/regex_t.3type
> +.so man3/regex.3


-- 
<http://www.alejandro-colomar.es/>
GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

  reply	other threads:[~2023-04-20 14:07 UTC|newest]

Thread overview: 143+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-19 17:47 [PATCH 1/2] regex.3: note that pmatch is still used if REG_NOSUB if REG_STARTEND наб
2023-04-19 17:48 ` [PATCH 2/2] regex.3: improve REG_STARTEND наб
2023-04-19 20:23   ` Alejandro Colomar
2023-04-19 21:20     ` наб
2023-04-19 21:45       ` Alejandro Colomar
2023-04-19 23:23       ` [PATCH v2 1/9] regex.3: note that pmatch is still used if REG_NOSUB if REG_STARTEND наб
2023-04-20 11:21         ` Alejandro Colomar
2023-04-19 23:23       ` [PATCH v2 2/9] regex.3: improve REG_STARTEND наб
2023-04-20 10:00         ` G. Branden Robinson
2023-04-20 11:13           ` наб
2023-04-20 18:33             ` G. Branden Robinson
2023-04-20 22:29               ` Alejandro Colomar
2023-04-21  5:00                 ` G. Branden Robinson
2023-04-21  8:06                   ` a straw-man `SR` man(7) macro for (sub)section cross references (was: [PATCH v2 2/9] regex.3: improve REG_STARTEND) G. Branden Robinson
2023-04-21 11:07                   ` [PATCH v2 2/9] regex.3: improve REG_STARTEND Alejandro Colomar
2023-06-02  0:12         ` Alejandro Colomar
2023-06-02  0:49           ` наб
2023-06-03 17:30             ` Alejandro Colomar
2023-04-19 23:23       ` [PATCH v2 3/9] regex.3: ffix наб
2023-04-20 11:23         ` Alejandro Colomar
2023-04-19 23:23       ` [PATCH v2 4/9] regex.3: wfix наб
2023-04-20 11:27         ` Alejandro Colomar
2023-04-19 23:23       ` [PATCH v2 5/9] regex.3: ffix наб
2023-04-20 11:28         ` Alejandro Colomar
2023-04-20 12:12           ` [PATCH v3 5/9] adjtimex.2, clone.2, mprotect.2, open.2, syscall.2, regex.3: ffix, wfix наб
2023-04-20 12:52             ` Alejandro Colomar
2023-04-20 13:03               ` Alejandro Colomar
2023-04-20 14:13                 ` наб
2023-04-20 14:19                   ` Alejandro Colomar
2023-04-20 18:42                 ` G. Branden Robinson
2023-04-20 22:40                   ` Alejandro Colomar
2023-04-19 23:25       ` [PATCH v2 6/9] regex.3, regex_t.3type, regmatch_t.3type, regoff_t.3type: move in with regex.3 наб
2023-04-20 11:31         ` Alejandro Colomar
2023-04-20 13:02           ` [PATCH v4 1/6] regex.3: Fix subsection headings наб
2023-04-20 13:13             ` Alejandro Colomar
2023-04-20 13:24               ` наб
2023-04-20 13:35                 ` Alejandro Colomar
2023-04-20 15:35             ` [PATCH v5 0/8] regex.3 momento наб
2023-04-20 15:35               ` [PATCH v5 1/8] regex.3: Desoupify regcomp() description наб
2023-04-20 16:37                 ` Alejandro Colomar
2023-04-20 15:35               ` [PATCH v5 2/8] regex.3: Desoupify regexec() description наб
2023-04-20 15:35               ` [PATCH v5 3/8] regex.3: Desoupify regerror() description наб
2023-04-20 16:42                 ` Alejandro Colomar
2023-04-20 18:50                   ` наб
2023-04-20 16:50                 ` Alejandro Colomar
2023-04-20 17:23                 ` Alejandro Colomar
2023-04-20 18:46                   ` наб
2023-04-20 22:45                     ` Alejandro Colomar
2023-04-20 23:05                       ` наб
2023-04-20 15:35               ` [PATCH v5 4/8] regex.3: Improve REG_STARTEND наб
2023-04-20 17:29                 ` Alejandro Colomar
2023-04-20 19:30                   ` наб
2023-04-20 19:33                     ` наб
2023-04-20 23:01                     ` Alejandro Colomar
2023-04-21  0:13                       ` наб
2023-04-20 15:36               ` [PATCH v5 5/8] regex.3, regex_t.3type, regmatch_t.3type, regoff_t.3type: Move & link regex_t.3type into regex.3 наб
2023-04-20 15:36               ` [PATCH v5 6/8] regex.3: Finalise move of reg*.3type наб
2023-04-20 15:36               ` [PATCH v5 7/8] regex.3: Destandardeseify Match offsets наб
2023-04-20 15:36               ` [PATCH v5 8/8] regex.3: Further clarify the sole purpose of REG_NOSUB наб
2023-04-20 19:36               ` [PATCH v6 0/8] regex.3 momento наб
2023-04-20 19:36                 ` [PATCH v6 1/8] regex.3: Desoupify regexec() description наб
2023-04-20 23:24                   ` Alejandro Colomar
2023-04-21  0:33                     ` наб
2023-04-21  0:49                       ` Alejandro Colomar
2023-04-20 19:36                 ` [PATCH v6 2/8] regex.3: Desoupify regerror() description наб
2023-04-20 19:37                 ` [PATCH v6 3/8] regex.3: Desoupify regfree() description наб
2023-04-20 23:35                   ` Alejandro Colomar
2023-04-21  0:27                     ` наб
2023-04-21  0:37                       ` [PATCH v7 " наб
2023-04-21  0:58                       ` [PATCH v6 " Alejandro Colomar
2023-04-21  1:24                         ` [PATCH v7a " наб
2023-04-21  1:55                           ` Alejandro Colomar
2023-04-20 19:37                 ` [PATCH v6 4/8] regex.3: Improve REG_STARTEND наб
2023-04-20 23:15                   ` Alejandro Colomar
2023-04-21  0:39                     ` [PATCH v7 " наб
2023-04-21  1:42                       ` Alejandro Colomar
2023-04-21  2:16                         ` наб
2023-04-21  9:45                           ` Alejandro Colomar
2023-04-21 12:13                             ` наб
2023-04-21 12:21                               ` Alejandro Colomar
2023-04-21 12:23                               ` Alejandro Colomar
2023-04-21 10:19                           ` Jakub Wilk
2023-04-21 10:22                             ` Alejandro Colomar
2023-04-21 10:44                               ` Jakub Wilk
2023-04-21 11:16                                 ` Alejandro Colomar
2023-04-21 11:34                             ` наб
2023-04-21 12:46                               ` Jakub Wilk
2023-04-20 19:37                 ` [PATCH v6 5/8] regex.3, regex_t.3type, regmatch_t.3type, regoff_t.3type: Move & link regex_t.3type into regex.3 наб
2023-04-20 19:37                 ` [PATCH v6 6/8] regex.3: Finalise move of reg*.3type наб
2023-04-20 19:37                 ` [PATCH v6 7/8] regex.3: Destandardeseify Match offsets наб
2023-04-20 19:37                 ` [PATCH v6 8/8] regex.3: Further clarify the sole purpose of REG_NOSUB наб
2023-04-21  2:01                 ` [PATCH v6 0/8] regex.3 momento Alejandro Colomar
2023-04-21  2:48                   ` [PATCH v8 0/5] " наб
2023-04-21  2:48                     ` [PATCH v8 1/5] regex.3: Desoupify regerror() description наб
2023-04-21 10:06                       ` Alejandro Colomar
2023-04-21 12:03                         ` [PATCH v9] " наб
2023-04-21 12:26                           ` Alejandro Colomar
2023-04-21 12:27                             ` Alejandro Colomar
2023-04-21  2:48                     ` [PATCH v8 2/5] regex.3, regex_t.3type, regmatch_t.3type, regoff_t.3type: Move & link regex_t.3type into regex.3 наб
2023-04-21 11:55                       ` Alejandro Colomar
2023-04-21 11:57                         ` Alejandro Colomar
2023-04-21 11:57                           ` Alejandro Colomar
2023-04-21  2:48                     ` [PATCH v8 3/5] regex.3: Finalise move of reg*.3type наб
2023-04-21 10:33                       ` Alejandro Colomar
2023-04-21 10:34                         ` Alejandro Colomar
2023-04-21 11:26                           ` наб
2023-04-21 11:36                             ` Alejandro Colomar
2023-04-21 11:49                               ` наб
     [not found]                         ` <1d2d0aa8-cb28-2d7f-c48b-7a02f907cb5b@gmail.com>
2023-04-21 11:57                           ` Ralph Corderoy
2023-04-21 11:59                             ` Alejandro Colomar
2023-04-21 12:03                               ` Alejandro Colomar
2023-04-21 12:09                               ` Ralph Corderoy
2023-04-21 12:14                                 ` Alejandro Colomar
2023-04-21  2:49                     ` [PATCH v8 4/5] regex.3: Destandardeseify Match offsets наб
2023-04-21 10:36                       ` Alejandro Colomar
2023-04-21 12:55                         ` [PATCH v9] " наб
2023-04-21 13:15                           ` Alejandro Colomar
2023-04-21 13:29                             ` [PATCH v9a] " наб
2023-04-21 13:55                               ` Alejandro Colomar
2023-04-21  2:49                     ` [PATCH v8 5/5] regex.3: Further clarify the sole purpose of REG_NOSUB наб
2023-04-21 11:44                       ` Alejandro Colomar
2023-04-21 10:00                     ` [PATCH v8 0/5] regex.3 momento Alejandro Colomar
2023-04-20 13:02           ` [PATCH v4 2/6] regex.3: Desoupify function descriptions наб
2023-04-20 14:00             ` Alejandro Colomar
2023-04-20 14:37               ` наб
2023-04-20 13:02           ` [PATCH v4 3/6] regex.3: Improve REG_STARTEND наб
2023-04-20 14:04             ` Alejandro Colomar
2023-04-20 13:02           ` [PATCH v4 4/6] regex.3, regex_t.3type: Move regex_t.3type into regex.3 наб
2023-04-20 13:02           ` [PATCH v4 5/6] regex.3, regex_t.3type, regmatch_t.3type, regoff_t.3type: Move in with regex.3 наб
2023-04-20 14:07             ` Alejandro Colomar [this message]
2023-04-20 13:02           ` [PATCH v4 6/6] regex.3: Destandardeseify Match offsets наб
2023-04-20 14:10             ` Alejandro Colomar
2023-04-20 15:05               ` наб
2023-04-20 18:51                 ` G. Branden Robinson
2023-04-21 11:34                 ` Alejandro Colomar
2023-04-19 23:25       ` [PATCH v2 7/9] regex.3: destandardeseify Byte offsets наб
2023-04-19 23:26       ` [PATCH v2 8/9] regex.3: desoupify function descriptions наб
2023-04-20 11:15         ` [PATCH v3 " наб
2023-04-20 11:43           ` Alejandro Colomar
2023-04-20 11:50             ` наб
2023-04-19 23:26       ` [PATCH v2 9/9] regex.3: fix subsection headings наб
2023-04-20 11:17         ` [PATCH v3 " наб
2023-04-19 19:51 ` [PATCH 1/2] regex.3: note that pmatch is still used if REG_NOSUB if REG_STARTEND 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=bae6abb8-6f75-5176-97e5-64df6f446799@gmail.com \
    --to=alx.manpages@gmail.com \
    --cc=linux-man@vger.kernel.org \
    --cc=nabijaczleweli@nabijaczleweli.xyz \
    /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