[fpc-devel] fpc_pchar_length error

Michael Van Canneyt michael at freepascal.org
Mon Dec 12 13:13:58 CET 2005



On Mon, 12 Dec 2005, Jonas Maebe wrote:

>
> On 11 dec 2005, at 22:22, Alexandrov Alexandru wrote:
>
>>> It depends on the specs of "length" :-)
>> 
>> What do you mean with specs?
>
> How it is defined to behave in the documentation (i.e., whether the 
> documentation says "if you call length with as argument a nil pointer, the 
> result is defined to be 0", or "the behaviour of length with as argument a 
> nil pointer is undefined", or simply doesn't mention it at all).

Exactly.

>> btw i forgot to mention, i tested on winxp.
>> In Delphi the result is 0, and no error.
>
> Delphi obviously is a lot more tolerant to bad programming than we are... A 
> pchar which is nil is not an empty string, but an invalid pointer. It's like 
> assuming that a nil pointer to a longint is the same as a pointer to the 
> value 0 or so.

I agree with this position.
A Nil pointer is usually a sign of a bad or uninitialized value.

I will try to update the docs with this.

Michael.



More information about the fpc-devel mailing list