Revision: 5967
http://jnode.svn.sourceforge.net/jnode/?rev=5967&view=rev
Author: galatnm
Date: 2013-02-20 11:56:05 +0000 (Wed, 20 Feb 2013)
Log Message:
-----------
Use the size of the unnamed $DATA attribute when getting NTFS file size. (Luke Quinane)
Modified Paths:
--------------
trunk/fs/src/fs/org/jnode/fs/ntfs/NTFSFile.java
Modified: trunk/fs/src/fs/org/jnode/fs/ntfs/NTFSFile.java
===================================================================
--- trunk/fs/src/fs/org/jnode/fs/ntfs/NTFSFile.java 2013-02-20 11:55:37 UTC (rev 5966)
+++ trunk/fs/src/fs/org/jnode/fs/ntfs/NTFSFile.java 2013-02-20 11:56:05 UTC (rev 5967)
@@ -58,7 +58,18 @@
}
public long getLength() {
- return indexEntry.getRealFileSize();
+ FileRecord.AttributeIterator attributes = getFileRecord().findAttributesByTypeAndName(NTFSAttribute.Types.DATA, null);
+ NTFSAttribute attribute = attributes.next();
+
+ if (attribute == null) {
+ return indexEntry.getRealFileSize();
+ }
+
+ if (attribute.isResident()) {
+ return ((NTFSResidentAttribute) attribute).getAttributeLength();
+ } else {
+ return ((NTFSNonResidentAttribute) attribute).getAttributeActualSize();
+ }
}
/*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|