summaryrefslogtreecommitdiffstats
path: root/rbutil/sansapatcher
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2007-08-22 23:14:52 +0000
committerDave Chapman <dave@dchapman.com>2007-08-22 23:14:52 +0000
commitec3db3860e0a604fa27d294e4fece87a24766df0 (patch)
tree6d0668616ed6a0d44574e5cc0d918f579ae55096 /rbutil/sansapatcher
parent1c69293d915ff9252d635764a954712417016eab (diff)
downloadrockbox-ec3db3860e0a604fa27d294e4fece87a24766df0.tar.gz
rockbox-ec3db3860e0a604fa27d294e4fece87a24766df0.tar.bz2
rockbox-ec3db3860e0a604fa27d294e4fece87a24766df0.zip
Accept both 0x0b and 0x0c as valid FAT32 partition types in the partition table
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14435 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'rbutil/sansapatcher')
-rw-r--r--rbutil/sansapatcher/sansapatcher.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/rbutil/sansapatcher/sansapatcher.c b/rbutil/sansapatcher/sansapatcher.c
index 6b4b80896c..087160146e 100644
--- a/rbutil/sansapatcher/sansapatcher.c
+++ b/rbutil/sansapatcher/sansapatcher.c
@@ -317,7 +317,7 @@ static int sansa_seek_and_read(struct sansa_t* sansa, loff_t pos, unsigned char*
/* We identify an E200 based on the following criteria:
1) Exactly two partitions;
- 2) First partition is type "W95 FAT32" (0x0b);
+ 2) First partition is type "W95 FAT32" (0x0b or 0x0c);
3) Second partition is type "OS/2 hidden C: drive" (0x84);
4) The "PPBL" string appears at offset 0 in the 2nd partition;
5) The "PPMI" string appears at offset PPMI_OFFSET in the 2nd partition.
@@ -330,8 +330,10 @@ int is_e200(struct sansa_t* sansa)
/* Check partition layout */
- if ((sansa->pinfo[0].type != 0x0b) || (sansa->pinfo[1].type != 0x84) ||
- (sansa->pinfo[2].type != 0x00) || (sansa->pinfo[3].type != 0x00)) {
+ if (((sansa->pinfo[0].type != 0x0b) && (sansa->pinfo[0].type != 0x0c)) ||
+ (sansa->pinfo[1].type != 0x84) ||
+ (sansa->pinfo[2].type != 0x00) ||
+ (sansa->pinfo[3].type != 0x00)) {
/* Bad partition layout, abort */
return -1;
}