Hi Linus, On Thu, Jul 10, 2025 at 08:30:59PM +0200, Alejandro Colomar wrote: > > IOW, why isn't this just > > > > #define sprintf_array(a,...) snprintf(a, ARRAY_SIZE(a), __VA_ARGS__) > > Agree. This is a better name for the kernel. Oops, I misread. I thought you were implementing it as #define sprintf_array(a, ...) sprintf_end(a, ENDOF(a), __VA_ARGS__) So, I prefer my implementation because it returns NULL on truncation. Compare usage: if (linus_sprintf_array(a, "foo") >= ARRAY_SIZE(a)) goto fail; if (alex_sprintf_array(a, "foo") == NULL) goto fail; Another approach would be to have if (third_sprintf_array(a, "foo") < 0) // -E2BIG goto fail; Which was my first approach, but since we have sprintf_end(), let's just reuse it. Cheers, Alex --