A NOTE has been added to this issue. ====================================================================== https://austingroupbugs.net/view.php?id=1771 ====================================================================== Reported By: calestyo Assigned To: ====================================================================== Project: Issue 8 drafts Issue ID: 1771 Category: Shell and Utilities Type: Enhancement Request Severity: Editorial Priority: normal Status: New Name: Christoph Anton Mitterer Organization: User Reference: Section: Utilities / printf Page Number: 3269 Line Number: 111019 Final Accepted Text: ====================================================================== Date Submitted: 2023-08-07 19:22 UTC Last Modified: 2023-08-08 20:40 UTC ====================================================================== Summary: support or reserve %q as printf-utility format specifier ======================================================================
---------------------------------------------------------------------- (0006424) jsm28 (reporter) - 2023-08-08 20:40 https://austingroupbugs.net/view.php?id=1771#c6424 ---------------------------------------------------------------------- Lowercase letters are used in C standard printf (C23 plus past TRs) as follows: %a floating %b binary %c character %d integer %e floating %f floating %g floating %h short %i integer %j intmax_t %k TR 18037 (Embedded C) signed accum %l long %m not used in standard printf, but used in scanf in TR 24731-2, and in POSIX syslog %n write number of written characters through pointer %o octal %p pointer %q not used in standard, but pre-standard use to mean "quad" (long long) probably makes it unsuitable for adding to the C standard %r TR 18037 (Embedded C) signed fract %s string %t ptrdiff_t %u unsigned integer %v not used in standard, available for future additions %w %wN intN_t / int_leastN_t, %wfN int_fastN_t %x hexadecimal %y not used in standard, available for future additions %z size_t That is, the only good choices for characters not used at all in standard C and not likely to conflict with extensions or scanf use are 'v' and 'y', meaning that when standard C starts using one of those, it should also reserve the other for starting multi-character sequences for future use in standard printf. (Of course some future standard printf features may use sequences starting with 'w' that don't conflict with the existing uses of that letter.) Issue History Date Modified Username Field Change ====================================================================== 2023-08-07 19:22 calestyo New Issue 2023-08-07 19:22 calestyo Name => Christoph Anton Mitterer 2023-08-07 19:22 calestyo Section => Utilities / printf 2023-08-07 19:22 calestyo Page Number => 3269 2023-08-07 19:22 calestyo Line Number => 111019 2023-08-07 19:36 chet_ramey Note Added: 0006416 2023-08-07 19:46 calestyo Note Added: 0006417 2023-08-07 23:39 salewski Issue Monitored: salewski 2023-08-08 08:46 geoffclare Note Added: 0006418 2023-08-08 14:28 calestyo Note Added: 0006420 2023-08-08 15:04 geoffclare Note Added: 0006421 2023-08-08 17:10 calestyo Note Added: 0006422 2023-08-08 18:45 eblake Note Added: 0006423 2023-08-08 20:40 jsm28 Note Added: 0006424 ======================================================================
