On Fri, 2020-04-03 at 09:37 +0300, Jani Nikula wrote: > On Thu, 02 Apr 2020, Joe Perches <joe@xxxxxxxxxxx> wrote: > > On Thu, 2020-04-02 at 11:34 +0300, Jani Nikula wrote: > > > Or could we conceive of a way to make this locally extensible yet safe, > > > letting callers use something like %{foo}, as well as providing a > > > locally relevant function to do the conversion? > > > > No. printf validation would be broken. > > I tossed the idea on a whim, and thinking further I could probably come > up with a number of challenges, but care to elaborate on what you see as > the problem in validation? I understand you to want to add something like %<m> where m is a non-standard format specifier so using using gcc's extension of __attribute__((__format__(printf, string_index, first_to_check)) could not validate the argument type against use of the %<m> in the format string. printk("%a\n", a); Compiler bleats.