public void ReleaseBuffers(long HeadBufferNumber)
{
// KISS
//System.Diagnostics.Debug.WriteLine(" deallocating chunk starting at "+HeadBufferNumber);
long thisbuffernumber = HeadBufferNumber;
long nextbuffernumber;
byte buffertype;
byte[] dummy = this.ParseBuffer(HeadBufferNumber, out buffertype, out nextbuffernumber);
if (buffertype!=HEAD)
{
throw new LinkedFileException("head buffer not marked HEAD");
}
this.DeallocateBuffer(HeadBufferNumber);
while (nextbuffernumber!=NULLBUFFERPOINTER)
{
thisbuffernumber = nextbuffernumber;
dummy = this.ParseBuffer(thisbuffernumber, out buffertype, out nextbuffernumber);
if (buffertype!=BODY)
{
throw new LinkedFileException("body buffer not marked BODY");
}
this.DeallocateBuffer(thisbuffernumber);
}
}