summaryrefslogtreecommitdiff
path: root/src/ntfs.c
diff options
context:
space:
mode:
authorStef Walter <stef@thewalter.net>2004-01-27 18:35:29 +0000
committerStef Walter <stef@thewalter.net>2004-01-27 18:35:29 +0000
commit048987b4e95b70a4559b9163d90e57dd69097203 (patch)
treeb31fa09615d3a5862eb959a70ff87cb2a2452aa2 /src/ntfs.c
parentedd737cd17f4e6712ba289e977c330ca3adc5495 (diff)
Fixes and changes:
- Handles Split MFT - Handles Windows XP formatted drives
Diffstat (limited to 'src/ntfs.c')
-rw-r--r--src/ntfs.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/ntfs.c b/src/ntfs.c
index 28b4cca..82f6f86 100644
--- a/src/ntfs.c
+++ b/src/ntfs.c
@@ -50,11 +50,18 @@ NTFS_AttribHeader* NTFS_SearchAttribute(byte* pLocation, uint32 attrType, void*
return NULL;
}
+byte* NTFS_GetAttributeList(NTFS_RecordHeader* pRecord)
+{
+ byte* pLocation = (byte*)pRecord;
+ ASSERT(pRecord->x_offUpdSeqArr != 0);
+ ASSERT(pRecord->x_offUpdSeqArr < 0x100);
+ pLocation += pRecord->x_offUpdSeqArr;
+ return pLocation;
+}
NTFS_AttribHeader* NTFS_FindAttribute(NTFS_RecordHeader* pRecord, uint32 attrType, void* pEnd)
{
- byte* pLocation = (byte*)pRecord;
- pLocation += kNTFS_RecHeaderLen;
+ byte* pLocation = NTFS_GetAttributeList(pRecord);
return NTFS_SearchAttribute(pLocation, attrType, pEnd, false);
}