1
0
mirror of https://github.com/git/git.git synced 2025-02-06 10:24:25 +00:00

gpg-interface: address -Wsign-comparison warnings

There are a couple of -Wsign-comparison warnings in "gpg-interface.c".
Most of them are trivial and simply using signed integers to loop
towards an upper unsigned bound.

But in `parse_signed_buffer()` we have one case where the different
signedness of the two values of a ternary expression results in a
warning. Given that:

  - `size` will always be bigger than `len` due to the loop condition.

  - `eol` will always be after `buf + len` because it is found via
    memchr(3p) starting from `buf + len`.

We know that both values will always be natural integers.

Squelch the warning by casting the left-hand side to `size_t`.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Patrick Steinhardt 2024-12-06 11:27:27 +01:00 committed by Junio C Hamano
parent 7d200af27f
commit 87318f2b6e

View File

@ -1,5 +1,4 @@
#define USE_THE_REPOSITORY_VARIABLE
#define DISABLE_SIGN_COMPARE_WARNINGS
#include "git-compat-util.h"
#include "commit.h"
@ -128,9 +127,7 @@ static struct gpg_format *use_format = &gpg_format[0];
static struct gpg_format *get_format_by_name(const char *str)
{
int i;
for (i = 0; i < ARRAY_SIZE(gpg_format); i++)
for (size_t i = 0; i < ARRAY_SIZE(gpg_format); i++)
if (!strcmp(gpg_format[i].name, str))
return gpg_format + i;
return NULL;
@ -138,9 +135,9 @@ static struct gpg_format *get_format_by_name(const char *str)
static struct gpg_format *get_format_by_sig(const char *sig)
{
int i, j;
int j;
for (i = 0; i < ARRAY_SIZE(gpg_format); i++)
for (size_t i = 0; i < ARRAY_SIZE(gpg_format); i++)
for (j = 0; gpg_format[i].sigs[j]; j++)
if (starts_with(sig, gpg_format[i].sigs[j]))
return gpg_format + i;
@ -228,7 +225,7 @@ static void parse_gpg_output(struct signature_check *sigc)
{
const char *buf = sigc->gpg_status;
const char *line, *next;
int i, j;
int j;
int seen_exclusive_status = 0;
/* Iterate over all lines */
@ -243,7 +240,7 @@ static void parse_gpg_output(struct signature_check *sigc)
continue;
/* Iterate over all search strings */
for (i = 0; i < ARRAY_SIZE(sigcheck_gpg_status); i++) {
for (size_t i = 0; i < ARRAY_SIZE(sigcheck_gpg_status); i++) {
if (skip_prefix(line, sigcheck_gpg_status[i].check, &line)) {
/*
* GOODSIG, BADSIG etc. can occur only once for
@ -700,7 +697,7 @@ size_t parse_signed_buffer(const char *buf, size_t size)
match = len;
eol = memchr(buf + len, '\n', size - len);
len += eol ? eol - (buf + len) + 1 : size - len;
len += eol ? (size_t) (eol - (buf + len) + 1) : size - len;
}
return match;
}