On Fri, 2020-04-03 at 09:37 +0300, Jani Nikula wrote:
On Thu, 02 Apr 2020, Joe Perches joe@perches.com 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.