Re: [PATCH 1/1] git-compat-util.h: drop the `PRIuMAX` definition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Junio C Hamano <gitster@xxxxxxxxx> writes:

>> Can we likewise ditch the fallback definition for SCNuMAX? And PRIu32,
>> etc? It seems likely any platform would either have all of them or none.
>
> I guess that's also a C99-ism that we can use?
>
> Thanks, both.

Here is what I have locally for now.

1:  98f866a929 ! 1:  ebc3278665 git-compat-util.h: drop the `PRIuMAX` definition
    @@ Metadata
     Author: Hariom Verma <hariom18599@xxxxxxxxx>
     
      ## Commit message ##
    -    git-compat-util.h: drop the `PRIuMAX` definition
    +    git-compat-util.h: drop the `PRIuMAX` and other fallback definitions
     
         Git's code base already seems to be using `PRIdMAX` without any such
         fallback definition for quite a while (75459410edd (json_writer: new
         routines to create JSON data, 2018-07-13), to be precise, and the
    -    first Git version to include that commit was v2.19.0).
    +    first Git version to include that commit was v2.19.0).  Having a
    +    fallback definition only for `PRIuMAX` is a bit inconsistent.
     
    -    Therefore it should be safe to drop the fallback definition for
    -    `PRIuMAX` in `git-compat-util.h`.
    +    We do sometimes get portability reports more than a year after the
    +    problem was introduced.  This one should be fairly safe.  PRIuMAX is
    +    in C99 (for that matter, SCNuMAX, PRIu32 and others also are), and
    +    we've been picking up other C99-isms without complaint.
     
    -    This addresses https://github.com/gitgitgadget/git/issues/399
    +    The PRIuMAX fallback definition was originally added in 3efb1f343a
    +    (Check for PRIuMAX rather than NO_C99_FORMAT in fast-import.c.,
    +    2007-02-20). But it was replacing a construct that was introduced in
    +    an even earlier commit, 579d1fbfaf (Add NO_C99_FORMAT to support
    +    older compilers., 2006-07-30), which talks about gcc 2.95.
    +
    +    That's pretty ancient at this point.
     
         Signed-off-by: Hariom Verma <hariom18599@xxxxxxxxx>
    +    Helped-by: Jeff King <peff@xxxxxxxx>
    +    [jc: tweaked both message and code, taking what peff wrote]
         Signed-off-by: Junio C Hamano <gitster@xxxxxxxxx>
     
      ## git-compat-util.h ##
    @@ git-compat-util.h: char *gitdirname(char *);
     -#define PRIuMAX "llu"
     -#endif
     -
    - #ifndef SCNuMAX
    - #define SCNuMAX PRIuMAX
    - #endif
    +-#ifndef SCNuMAX
    +-#define SCNuMAX PRIuMAX
    +-#endif
    +-
    +-#ifndef PRIu32
    +-#define PRIu32 "u"
    +-#endif
    +-
    +-#ifndef PRIx32
    +-#define PRIx32 "x"
    +-#endif
    +-
    +-#ifndef PRIo32
    +-#define PRIo32 "o"
    +-#endif
    +-
    + typedef uintmax_t timestamp_t;
    + #define PRItime PRIuMAX
    + #define parse_timestamp strtoumax



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux