From: <ga...@us...> - 2012-08-10 06:11:08
|
Revision: 5905 http://jnode.svn.sourceforge.net/jnode/?rev=5905&view=rev Author: galatnm Date: 2012-08-10 06:11:00 +0000 (Fri, 10 Aug 2012) Log Message: ----------- Stop using little endian Don t make any assumptions about reported partition type Modified Paths: -------------- trunk/fs/src/fs/org/jnode/partitions/apm/ApmPartitionTable.java trunk/fs/src/fs/org/jnode/partitions/apm/ApmPartitionTableEntry.java Modified: trunk/fs/src/fs/org/jnode/partitions/apm/ApmPartitionTable.java =================================================================== --- trunk/fs/src/fs/org/jnode/partitions/apm/ApmPartitionTable.java 2012-08-09 14:08:21 UTC (rev 5904) +++ trunk/fs/src/fs/org/jnode/partitions/apm/ApmPartitionTable.java 2012-08-10 06:11:00 UTC (rev 5905) @@ -28,7 +28,7 @@ import org.jnode.driver.Device; import org.jnode.partitions.PartitionTable; import org.jnode.partitions.PartitionTableType; -import org.jnode.util.LittleEndian; +import org.jnode.util.BigEndian; /** * The main Apple Partition Map (APM) partition table class. @@ -56,7 +56,7 @@ public ApmPartitionTable(ApmPartitionTableType tableType, byte[] first16KiB, Device device) { this.tableType = tableType; - long entries = LittleEndian.getUInt32(first16KiB, 0x204); + long entries = BigEndian.getUInt32(first16KiB, 0x204); for (int partitionNumber = 0; partitionNumber < entries; partitionNumber++) { log.debug("try part " + partitionNumber); @@ -98,4 +98,4 @@ public PartitionTableType getType() { return tableType; } -} +} \ No newline at end of file Modified: trunk/fs/src/fs/org/jnode/partitions/apm/ApmPartitionTableEntry.java =================================================================== --- trunk/fs/src/fs/org/jnode/partitions/apm/ApmPartitionTableEntry.java 2012-08-09 14:08:21 UTC (rev 5904) +++ trunk/fs/src/fs/org/jnode/partitions/apm/ApmPartitionTableEntry.java 2012-08-10 06:11:00 UTC (rev 5905) @@ -24,7 +24,6 @@ import org.jnode.partitions.PartitionTableEntry; import org.jnode.partitions.ibm.IBMPartitionTable; import org.jnode.util.BigEndian; -import org.jnode.util.LittleEndian; import org.jnode.util.NumberUtils; /** @@ -53,7 +52,7 @@ } public boolean isValid() { - return first16KiB.length > offset + 128 && !isEmpty(); + return first16KiB.length > offset + 128; } /** @@ -70,10 +69,6 @@ return false; } - public boolean isEmpty() { - return "Apple_Scratch".equals(getType()); - } - public long getStartOffset() { return BigEndian.getInt32(first16KiB, offset + 0x8) * 0x200L; } @@ -97,7 +92,7 @@ public String dump() { StringBuilder b = new StringBuilder(); for (int i = 0; i < 128; i++) { - b.append(NumberUtils.hex(LittleEndian.getUInt8(first16KiB, offset + i), 2)); + b.append(NumberUtils.hex(BigEndian.getUInt8(first16KiB, offset + i), 2)); b.append(' '); } return b.toString(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |