Re: [PATCH 2/3] git-compat-util: convert string predicates to return bool

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jul 14, 2025 at 6:32 AM Phillip Wood <phillip.wood123@xxxxxxxxx> wrote:
>
> From: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>
>
> Since 8277dbe987 (git-compat-util: convert skip_{prefix,suffix}{,_mem}
> to bool, 2023-12-16) a number of our sting predicates have been
> returning bool instead of int. Now we've declared that experiment

Now we've -> Now that we've

> a success lets convert the return type the case independent

success lets -> success, let's
type the -> type of the

> skip_iprefix() and skip_iprefix_mem() functions to match the return
> type of their case dependent equivalents. Returning bool instead of

I wonder if case-independent and case-dependent should be hyphenated,
or as separate words as you had them.  Anyone know?

> int makes it clear that these functions are predicates.
>
> Signed-off-by: Phillip Wood <phillip.wood@xxxxxxxxxxxxx>
> ---
>  git-compat-util.h | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/git-compat-util.h b/git-compat-util.h
> index 5bd69ec0403..9408f463e31 100644
> --- a/git-compat-util.h
> +++ b/git-compat-util.h
> @@ -897,35 +897,35 @@ static inline size_t xsize_t(off_t len)
>   * is done via tolower(), so it is strictly ASCII (no multi-byte characters or
>   * locale-specific conversions).
>   */
> -static inline int skip_iprefix(const char *str, const char *prefix,
> +static inline bool skip_iprefix(const char *str, const char *prefix,
>                                const char **out)
>  {
>         do {
>                 if (!*prefix) {
>                         *out = str;
> -                       return 1;
> +                       return true;
>                 }
>         } while (tolower(*str++) == tolower(*prefix++));
> -       return 0;
> +       return false;
>  }
>
>  /*
>   * Like skip_prefix_mem, but compare case-insensitively. Note that the
>   * comparison is done via tolower(), so it is strictly ASCII (no multi-byte
>   * characters or locale-specific conversions).
>   */
> -static inline int skip_iprefix_mem(const char *buf, size_t len,
> +static inline bool skip_iprefix_mem(const char *buf, size_t len,
>                                    const char *prefix,
>                                    const char **out, size_t *outlen)
>  {
>         do {
>                 if (!*prefix) {
>                         *out = buf;
>                         *outlen = len;
> -                       return 1;
> +                       return true;
>                 }
>         } while (len-- > 0 && tolower(*buf++) == tolower(*prefix++));
> -       return 0;
> +       return false;
>  }
>
>  static inline int strtoul_ui(char const *s, int base, unsigned int *result)
> --
> 2.49.0.897.gfad3eb7d210

Patch looks good.





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux