[fpc-pascal] Does ReallocMem(p,0) always set p to nil?
Vincent Snijders
vsnijders at quicknet.nl
Mon May 7 09:26:22 CEST 2007
Michael Van Canneyt schreef:
>
> On Mon, 7 May 2007, Vincent Snijders wrote:
>
>> Vincent Snijders schreef:
>>> Hi,
>>>
>>> Consider this piece of code:
>>>
>>> var
>>> p: pointer;
>>> begin
>>> p := getmem(100);
>>> reallocmem(p,0);
>>> p := nil;
>>> end.
>>>
>>> Do I need to do p:=nil, if I want to be sure that p contains nil?
>>>
>>> I saw that both system.SysReAllocMem and cmem.CReAllocMem do this, is
>>> size=0, but the docs at
>>> http://lazarus-ccr.sourceforge.net/docs/rtl/system/reallocmem.html don't
>>> mention this, so I don't know if I can be trust that is the case for always
>>> for all memory managers.
>> Tough question apparently. Let's try to word it differently.
>>
>> After reallocmem(p,0) I observed that p is always nil. Is this an
>> implementation detail (subject to change) or part of the specification of
>> reallocmem?
>
> This is part of the specification.
>
Thanks. Can you add this to the documentation?
Vincent
More information about the fpc-pascal
mailing list