On 9/18/20 7:34 AM, Florian Weimer via Libc-alpha wrote:
the length modifier for printf and scanf is z, commently used as %zu or %zx (%zd is for ssize_t).
While %zd works for ssize_t in glibc, POSIX doesn't guarantee that it'll work, as ssize_t might not have the same width as size_t. (If memory serves this goes back to the bad old days when size_t was 64 bits and ssize_t 32 bits on some platforms.) So if we document %zd we should say it's a GNU extension to POSIX, or something like that.