[fpc-pascal] Does ReallocMem(p,0) always set p to nil?
Michael Van Canneyt
michael.vancanneyt at wisa.be
Mon May 7 09:22:46 CEST 2007
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.
Michael.
More information about the fpc-pascal
mailing list