On Mon, 22 Sept 2025 at 10:49, U.Mutlu <[email protected]> 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.

Reply via email to