Re: [PATCH 2/4] date.c: Fix type missmatch warings from msvc
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Dec 26, 2024, 21:34 UTC
- Message-ID
- <xmqqy102w2li.fsf@gitster.g>
- In-Reply-To
- <20241223110407.3308-3-soekkle@freenet.de>
Sören Krecker <soekkle@freenet.de> writes:
Show 42 quoted lines
> Fix compiler warings from msvc in date.c for value truncation from 64
> bit to 32 bit integers.
>
> Also switch from int to size_t for all variables with result of strlen()
> which cannot become negative.
>
> Signed-off-by: Sören Krecker <soekkle@freenet.de>
> ---
> date.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/date.c b/date.c
> index bee9fe8f10..8ae19f9ecc 100644
> --- a/date.c
> +++ b/date.c
> @@ -1242,7 +1242,7 @@ static const char *approxidate_alpha(const char *date, struct tm *tm, struct tm
> }
>
> for (s = special; s->name; s++) {
> - int len = strlen(s->name);
> + size_t len = strlen(s->name);
> if (match_string(date, s->name) == len) {
> s->fn(tm, now, num);
> *touched = 1;
> @@ -1252,7 +1252,7 @@ static const char *approxidate_alpha(const char *date, struct tm *tm, struct tm
>
> if (!*num) {
> for (i = 1; i < 11; i++) {
> - int len = strlen(number_name[i]);
> + size_t len = strlen(number_name[i]);
> if (match_string(date, number_name[i]) == len) {
> *num = i;
> *touched = 1;
> @@ -1268,7 +1268,7 @@ static const char *approxidate_alpha(const char *date, struct tm *tm, struct tm
>
> tl = typelen;
> while (tl->type) {
> - int len = strlen(tl->type);
> + size_t len = strlen(tl->type);
> if (match_string(date, tl->type) >= len-1) {
> update_tm(tm, now, tl->length * *num);
> *num = 0;These are all good changes, unquestionably. strlen() counts in bytes and returns size_t; we should recieve the returned value in a variable of type size_t.
Will queue. Thanks.