[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [patch] Use inttypes macros for size_t format string
[Thread Prev] | [Thread Next]
- Subject: Re: [patch] Use inttypes macros for size_t format string
- From: Jakub Jelen <jjelen@xxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Thu, 16 Jan 2020 12:30:24 +0100
- To: libssh@xxxxxxxxxx
- Cc: g4-lisz@xxxxxxxxxxxx, Andreas Schneider <asn@xxxxxxxxxxxxxx>
On Thu, 2020-01-16 at 11:54 +0100, Andreas Schneider wrote: > On Thursday, 16 January 2020 11:51:48 CET Andreas Schneider wrote: > > On Wednesday, 15 January 2020 17:46:30 CET g4-lisz@xxxxxxxxxxxx > > wrote: > > > On 15.01.20 17:32, Andreas Schneider wrote: > > > > On Wednesday, 15 January 2020 14:35:39 CET Jakub Jelen wrote: > > > > > On Wed, 2020-01-15 at 13:01 +0100, g4-lisz@xxxxxxxxxxxx > > > > > wrote: > > > > > > Hi there, here's a patch for fixing a printf format string > > > > > > issue when > > > > > > compiling with MinGW (and possibly other > > > > > > "architectures"...). > > > > > > > > > > > > A big thanks to Zdenek OGAR Skalak for the hint! > > > > > > > > > > Looks good to me. Grepping through the rest of the code shows > > > > > that > > > > > there will most probably be more issues like this: > > > > > > > > > > $ git grep "PRIdS" | wc -l > > > > > 10 > > > > > $ git grep "%zu" | wc -l > > > > > 27 > > > > > > > > > > Could you check also the other cases to make sure we can > > > > > address it in > > > > > the whole codebase? > > > > > > > > > > Andreas, what do you suggest to make sure we do not introduce > > > > > new > > > > > issues like this? > > > > > > > > %zu is ANSI C99 > > > > > > > > https://en.cppreference.com/w/c/io/fprintf > > > > > > > > That's more than 20 years old now. We had PRIdS because Visual > > > > Studio > > > > didn't have %zu support for a long time. So we should replace > > > > PRIdS with > > > > %zu ;-) > > > > > > > > > > > > Till, I'm sorry but you hit a compiler bug, open a bug against > > > > MinGW. > > > > > > It's not really a compiler bug. See here: > > > https://stackoverflow.com/questions/44382862/how-to-printf-a-size-t-withou > > > t-> warning-in-mingw-w64-gcc-7-1 > > According to that you need to compile with: > > > > cmake -DCMAKE_C_FLAGS="-D__USE_MINGW_ANSI_STDIO=1" .. > > Alternative seems to be: > > -Dsnprintf=__mingw_snprintf -Dvsnprintf=__mingw_vsnprintf ... Is this something that can be automatically done by some cmake check if the mingw cross-compilation is detected? Regards, -- Jakub Jelen Senior Software Engineer Security Technologies Red Hat, Inc.
Re: [patch] Use inttypes macros for size_t format string | g4-lisz@xxxxxxxxxxxx |
Re: [patch] Use inttypes macros for size_t format string | Andreas Schneider <asn@xxxxxxxxxxxxxx> |
[patch] Use inttypes macros for size_t format string | g4-lisz@xxxxxxxxxxxx |
Re: [patch] Use inttypes macros for size_t format string | g4-lisz@xxxxxxxxxxxx |
Re: [patch] Use inttypes macros for size_t format string | Andreas Schneider <asn@xxxxxxxxxxxxxx> |
Re: [patch] Use inttypes macros for size_t format string | Andreas Schneider <asn@xxxxxxxxxxxxxx> |