I'm porting an application from using char*
for everything and everywhere to using UCS4 as it's internal Unicode representation. I use C11's U"unicode literals"
for defining strings, which expand to arrays of char32_t
, which are uint32_t
essentially.
Problem is with properly annotating printf
-like functions. As "format" is no longer char*
, compiler refuses to compile it further, as well it won't be happy with char32_t *
instead of char *
for %s
format, I suppose.
I don't depend on stdlib *printf
family at all, so formatting is done purely by mine implementation.
What is correct solution for this, other than just disable this attribute altogether?