[Bug 1036859] Re: stdint.h defines PRIx16 and similar in unhelful way

Launchpad Bug Tracker 1036859 at bugs.launchpad.net
Thu Mar 27 07:32:24 UTC 2014


Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: eglibc (Ubuntu)
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to eglibc in Ubuntu.
https://bugs.launchpad.net/bugs/1036859

Title:
  stdint.h defines PRIx16 and similar in unhelful way

Status in “eglibc” package in Ubuntu:
  Confirmed

Bug description:
  Ubuntu 11.04
  reference: http://pubs.opengroup.org/onlinepubs/007904975/basedefs/inttypes.h.html

  inttypes.h defines macros for fixed integer types.  The ones for 8-
  and 16-bit types are currently the same as the 32-bit types, which
  pretty much makes them useless.

  PRIx16 is x      I suggest it should be hx
  PRIx8 is x        I suggest it should be hhx

  Otherwise, only by excruciatingly correct typecasting in the printf can you get the correct output for something like
  int16_t this = -1;
  printf("%" PRIx16 "\n", this);

  As it stands, it will print 8 hex digits.  It makes more sense for it
  to print 4.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/eglibc/+bug/1036859/+subscriptions



More information about the foundations-bugs mailing list