void CIndexedFile::Dump(void) { CChars sz; int i; filePos iSizeOnDisk; filePos iPos; BOOL bDurable; char pvData[80]; int iReadSize; iSizeOnDisk = mcFile.SizeFromFile(); bDurable = mcFile.mbDurable; mcFile.mbDurable = FALSE; sz.Init(); sz.Append("File Descriptor ("); sz.Append(miFileIndex); sz.Append(")\n------------------\n"); sz.Append("Primary Name: "); sz.Append(mszFileName); sz.AppendNewLine(); sz.Append("Rewrite Name: "); sz.Append(mszRewriteName); sz.AppendNewLine(); sz.Append("Durable: "); sz.AppendBool(bDurable); sz.AppendNewLine(); sz.Append("Datas (A:"); sz.Append(miNumDatas); sz.Append(", D:"); sz.Append(mcFile.miLength/miDataSize); sz.Append(", F:"); sz.Append(iSizeOnDisk/miDataSize); sz.Append(")\n\n"); sz.Append("Data on Disk\n------------\n"); iReadSize = 80; if (miDataSize < iReadSize) { iReadSize = miDataSize; } iPos = mcFile.Tell(); for (i = 0; i < iSizeOnDisk/miDataSize; i++) { mcFile.Read(i*miDataSize, pvData, iReadSize, 1); sz.AppendData(pvData, iReadSize); sz.AppendNewLine(); } sz.AppendNewLine(); mcFile.Seek(EFSO_SET, iPos); sz.Dump(); sz.Kill(); mcFile.Dump(); mcFile.mbDurable = bDurable; }