[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