On Tue, 17 Dec 2024 at 15:32, Linus Torvalds torvalds@linux-foundation.org wrote:
But if you look more closely, you'll see that the way the buffer is managed is actually not as a word array at all, but using
char *str, *end;
instead of word pointers.
Oh, and in addition to the smaller-than-int types ('%c' and '%hd' etc), pointers that get dereferenced also get written as a byte string to that word array. There might be other cases too.
So it's really a fairly odd kind of "sometimes words, sometimes not" array, with the size of the array given in words.
That binary printf is very strange.
Linus