Re: [PATCH] sideband.c: replace int with size_t for clarity
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Dec 22, 2023, 17:57 UTC
- Message-ID
- <20231222175747.GA2880@tb-raspi4>
- In-Reply-To
- <pull.1625.git.1703264469238.gitgitgadget@gmail.com>
On Fri, Dec 22, 2023 at 05:01:09PM +0000, Chandra Pratap via GitGitGadget wrote:
Show 31 quoted lines
> From: Chandra Pratap <chandrapratap3519@gmail.com>
>
> Replace int with size_t for clarity and remove the
> 'NEEDSWORK' tag associated with it.
>
> Signed-off-by: Chandra Pratap <chandrapratap3519@gmail.com>
> ---
> sideband.c: replace int with size_t for clarity
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1625%2FChand-ra%2Fdusra-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1625/Chand-ra/dusra-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1625
>
> sideband.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/sideband.c b/sideband.c
> index 6cbfd391c47..1599e408d1b 100644
> --- a/sideband.c
> +++ b/sideband.c
> @@ -69,9 +69,8 @@ void list_config_color_sideband_slots(struct string_list *list, const char *pref
> * of the line. This should be called for a single line only, which is
> * passed as the first N characters of the SRC array.
> *
> - * NEEDSWORK: use "size_t n" instead for clarity.
> */
> -static void maybe_colorize_sideband(struct strbuf *dest, const char *src, int n)
> +static void maybe_colorize_sideband(struct strbuf *dest, const char *src, size_t n)
> {
> int i;
>Thanks for working on this.
There is, however, more potential for improvements.
First of all: the "int i" from above.
Further down, we read
for (i = 0; i < ARRAY_SIZE(keywords); i++) {However, a size of an array can never be negative, so that an unsigned data type is a better choice than a signed. And, arrays can have more elements than an int can address, at least in theory. For a reader it makes more sense, to replace int i; with size_t i;
And further down, there is another place for improvments:
int len = strlen(p->keyword); if (n < len) continue;
Even here, a strlen is never negative. And a size_t is the choice for len, since all "modern" implementations declare strlen() to return size_t
Do you think that you can have a look at these changes ?
I will be happy to do a review, and possibly other people as well.