Suggestion - new warning
Jonathan Wakely
jwakely.gcc@gmail.com
Mon Sep 22 13:31:10 GMT 2025
On Mon, 22 Sept 2025 at 10:49, U.Mutlu <um@mutluit.com> wrote:
>
> Yair Lenga via Gcc wrote on 09/22/25 08:29:
> >
> > I've inherited an old code base of "C" code, which was maintained by
> > relatively inexperience team. One of the common pattern that I've seen was:
> >
> > for (int i=0 ; i < strlen(s) ; i++) { ... }
>
> Such code implies that the string can change between the loop iterations.
> This of course is a legit use case.
>
> If the string is not changing, then the programmer instead should use:
> for (size_t len = strlen(s), i = 0; i < len; ++i) { ... }
>
> or even better:
> const size_t len = strlen(s);
> for (size_t i = 0; i < len; ++i) { ... }
>
> size_t exists at least since C99 (1999).
Yes, that's the point of the original post. They're asking for a
warning to tell developers not to do it.
More information about the Gcc
mailing list