I always wondered why I get a compiler message for the following code snipped:

----------------------------------------------------------------------------
function Match(M,F : UTF8String) : boolean;
var i : Cardinal;

...

if i+length(M)<length(F) then
...

----------------------------------------------------------------------------

For the last code line I get:

unit1.pas(1097,14) Hint: Mixing signed expressions and longwords gives a 64bit 
result

But where are signed expressions involved?
i is Cardinal (so it cannot be negative) and
the two length-statements can also never be negative.
There is no substraction so why this message?
Anybody knows?

_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to