Geert Janssens <janssens-ge...@telenet.be> writes: > On Friday 02 May 2014 14:55:42 John Ralls wrote: >> > > then I get the dreaded unrecognized “l” format error, >> > >> > What is the dreaded unrecognized "l" format error ? I have never >> > seen it on my WinXP test system. In which step do you get this ? >> It’s that the ancient msvcrt.dll used by MinGW doesn’t know about %lld >> for printing or scanning int64s. Back before Microsoft accepted the >> c99 standard (around 2006, IIRC) their printf() required using %I64d >> instead, and threw a "unknown conversion type character 'l' in format >> [-Wformat]” warning. The msvcrt.dll in MinGW is that old. There are a >> couple of workarounds, and -D__USE_MINGW_ANSI_STDIO is one of them. > > Ok. Just to clear it up completely for me: when you set that directive > mingw does understand %lld ?
Note that %ld v %lld varies on Linux too. To print/scan a gint64 you need %lld on 32-bit linux but %ld on 64-bit linux (because long long is 64/128 bits respectively!) This is why we try to use G_INT64_FORMAT everywhere, because it will generally "do the right thing". > Would that also work on Windows XP or not ? Hmm, Windows XP is 32-bit > only so perhaps when building on WinXP you never see that directive. Is > it a problem only for 64-bit ? > > Perhaps related: business users can define a number format for > invoices/bills via File->Properties->Business. I remember there also > this problem of %lld vs %I64d is rearing its ugly head. So if we build > gnucash with the above directive perhaps this problem would go away as > well ? IMHO this code should arguably rewritten so that it does not get passed directly to printf but instead we should design our own language (that could *look* like printf if we desired) to make it platform agnostic. > Geert -derek -- Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory Member, MIT Student Information Processing Board (SIPB) URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH warl...@mit.edu PGP key available _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel