The document recommends &quot;intptr_t&quot; over &quot;long&quot; for system-dependent types, and I&#x27;ve considered doing this but I&#x27;ve been put off by the printing type of %&quot;PRIdPTR&quot; instead of %ld. I wonder if on modern platforms it&#x27;d be ok to use intptr_t and the printing type %zd (meant for ssize_t).