Afaik, the bool types (longbool, wordbool, bytebool) come from the C
language and are mostly used to interface with C libraries (for example:
windows). The definitions there are: 0 means FALSE, anything else means
TRUE. Normally C routines return a dword/word/byte filled with ones for TRUE
and expect something not 0 as TRUE. So, the definition comes from C. As long
Pascal programmers want to use libraries written in C, this definition
should not be changed in the Pascal compiler.
Regards
Gerhard
----- Original Message -----
From: "Sven Barth via fpc-pascal" <fpc-pascal@lists.freepascal.org>
To: <fpc-pascal@lists.freepascal.org>
Cc: "Sven Barth" <pascaldra...@googlemail.com>
Sent: Friday, May 18, 2018 7:22 AM
Subject: Re: [fpc-pascal] LongBool True = -1
Am 17.05.2018 um 23:26 schrieb Anthony Walter:
I am working with some a glib library that expects gboolean to be
positive 1 for true, yet FPC emits -1 for true. Is there a compiler flag
to force boolean types to emit 1 instead of -1? If so, would there
possibly be any side effects with other pascal code?
Why don't you use the glib2 unit which declares a correct gBoolean type
(using Boolean32 which had been introduced for that purpose) and
accordingly defined gTRUE and gFALSE?
Regards,
Sven
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal