Public Comment Number PC-UK0087 ISO/IEC CD 9899 (SC22N2620) Public Comment =========================================== Date: 1998-02-25 Author: N.M Maclaren Author Affiliation: Self Postal Address: University of Cambridge, Computer Laboratory, New Museums Site, Pembroke Street, Cambridge CB3 3QG, United Kingdom E-mail Address: Telephone Number: +44 1223 334761 Fax Number: +44 1223 334679 Number of individual comments: 1 Comment 1. Category: Feature that should be included Committee Draft subsection: 7.4.4 Title: Macros for format specifiers Detailed description: These are all very well, but this is a major quiet change and not a welcome one, either. In C89, long is guaranteed to be the longest integer type, and it is possible to cast to long and use a simple format to print any integer. C9X abolishes this, and will break many programs. Even when they are rewritten, their formats will become unreadable. I suggest one of two solutions: 1) Restore the requirement that long is the longest integer type or: 2) Introduce %md, %mu, %mx etc. for the ***MAX forms to alleviate the pain, as has been suggested. This is still a change, but should cause less opposition. Doing BOTH enables programmers to convert their code to using intmax_t during the life of C9X, which leaves the option open for a future revision of the C standard to reintroduce 'long long' with minimum incompatibility, and is what I should prefer. The current proposal forces immediate and serious incompatibility, breaks existing and important conforming code, and makes it impossible to convert it cleanly to C9X.