Martin Ågren <martin.agren@xxxxxxxxx> writes: > On Mon, 15 Nov 2021 at 07:30, Junio C Hamano <gitster@xxxxxxxxx> wrote: >> >> There are certain C99 features that might be nice to use in our code >> base, but we've hesitated to do so in order to avoid breaking >> compatibility with older compilers. But we don't actually know if >> people are even using pre-C99 compilers these days. > >> is a long-enough time, so let's try it agin. > > s/agin/again/ > >> void show_object_with_name(FILE *out, struct object *obj, const char *name) >> { >> - const char *p; >> - >> fprintf(out, "%s ", oid_to_hex(&obj->oid)); >> - for (p = name; *p && *p != '\n'; p++) >> + for (const char *p = name; *p && *p != '\n'; p++) >> fputc(*p, out); >> fputc('\n', out); >> } > > This seems like a stable-enough function for this experiment. Yup, the callers and the implementation are from several years ago, if I am not mistaken. > Similar to 765dc16888 ("git-compat-util: always enable variadic macros", > 2021-01-28), maybe we should add something like > > /* > * This "for (const char *p = ..." is made as a first step towards > * making use of such declarations elsewhere in our codebase. If > * it causes compilation problems on your platform, please report > * it to the Git mailing list at git@xxxxxxxxxxxxxxx. > */ > > to reduce the chance of someone patching it up locally thinking that > it's just a one-off. Probably. It would help people to refrain from copying and pasting this and making it harder to back out, too.