From: already5chosen@yahoo.com   
      
   On Tue, 13 Jan 2026 22:17:09 -0500   
   "James Russell Kuyper Jr." wrote:   
      
   > On 2026-01-11 06:20, Michael S wrote:   
   > > On Sat, 10 Jan 2026 22:02:03 -0500   
   > > "James Russell Kuyper Jr." wrote:   
   > >   
   > >> On 2026-01-09 07:18, Michael S wrote:   
   > >>> On Thu, 8 Jan 2026 19:31:13 -0500   
   > >>> "James Russell Kuyper Jr."    
   > >>> wrote:   
   > >> ...   
   > >>>> I'd have no problem with your approach if you hadn't falsely   
   > >>>> claimed that "It is correct on all platforms".   
   > >>>   
   > >>> Which I didn't.   
   > >>   
   > >> On 2026-01-07 19:38, Michael S wrote:   
   > >> ...   
   > >> > No, it is correct on all implementation.   
   > >>   
   > >   
   > > The quote is taken out of context.   
   > > The context was that on platforms that have properties (a) and (b)   
   > > (see below) printing variables declared as uint32_t via %u is   
   > > probably UB according to the Standard (I don't know for sure,   
   > > however it is probable), but it can't cause troubles with   
   > > production C compiler. Or with any C compiler that is made in   
   > > intention of being used rather than crafted to prove theoretical   
   > > points. Properties are:   
   > > a) uint32_t aliased to 'unsigned long'   
   > > b) 'unsigned int' is at least 32-bit wide.   
   > >   
   > > I never claimed that it is good idea on targets with 'unsigned int'   
   > > that is narrower.   
   >   
   > I've looked for a previous restriction of this discussion to cases   
   > covered by a) and b) above. The closest I could find is the following:   
   >   
   > > In the case I am talking about n declared as uint32_t.   
   > > uint32_t is an alias of 'unsigned long' on 32-bit embedded targets,   
   > > on 32-bit Linux, on 32-bit Windows and on 64-bit Windows. It is   
   > > alias of 'unsigned int' on 64-bit Linux.   
   >   
   > Note several points: that is a period after the first use of   
   > "uint32_t", so "the case" you're specifying ends there. I read the   
   > next three lines as information about your working environment, not   
   > restrictions on the claimed validity of your preference for "%u" over   
   > "%lu". There is no mention of a restriction on the size of "unsigned   
   > int".   
   >   
   >   
      
   Ignoring for a minute that what I claimed about 32-bit Linux is   
   at best non-universal and at worst universally wrong, how would you   
   formulate what I meant?   
   My knowledge of English punctuation rules is rather minimal and even   
   less than that for its US American variant.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   
|