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
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to