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.
|