[fpc-pascal] LongBool True = -1
Gerhard Scholz
gs at g--s.de
Sat May 19 19:46:55 CEST 2018
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 at lists.freepascal.org>
To: <fpc-pascal at lists.freepascal.org>
Cc: "Sven Barth" <pascaldragon at 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 at lists.freepascal.org
> http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
More information about the fpc-pascal
mailing list