diff options
author | Dave Chapman <dave@dchapman.com> | 2007-08-22 23:14:52 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2007-08-22 23:14:52 +0000 |
commit | ec3db3860e0a604fa27d294e4fece87a24766df0 (patch) | |
tree | 6d0668616ed6a0d44574e5cc0d918f579ae55096 /rbutil | |
parent | 1c69293d915ff9252d635764a954712417016eab (diff) | |
download | rockbox-ec3db3860e0a604fa27d294e4fece87a24766df0.tar.gz 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')
-rw-r--r-- | rbutil/sansapatcher/sansapatcher.c | 8 |
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* | |||
317 | /* We identify an E200 based on the following criteria: | 317 | /* We identify an E200 based on the following criteria: |
318 | 318 | ||
319 | 1) Exactly two partitions; | 319 | 1) Exactly two partitions; |
320 | 2) First partition is type "W95 FAT32" (0x0b); | 320 | 2) First partition is type "W95 FAT32" (0x0b or 0x0c); |
321 | 3) Second partition is type "OS/2 hidden C: drive" (0x84); | 321 | 3) Second partition is type "OS/2 hidden C: drive" (0x84); |
322 | 4) The "PPBL" string appears at offset 0 in the 2nd partition; | 322 | 4) The "PPBL" string appears at offset 0 in the 2nd partition; |
323 | 5) The "PPMI" string appears at offset PPMI_OFFSET in the 2nd partition. | 323 | 5) The "PPMI" string appears at offset PPMI_OFFSET in the 2nd partition. |
@@ -330,8 +330,10 @@ int is_e200(struct sansa_t* sansa) | |||
330 | 330 | ||
331 | /* Check partition layout */ | 331 | /* Check partition layout */ |
332 | 332 | ||
333 | if ((sansa->pinfo[0].type != 0x0b) || (sansa->pinfo[1].type != 0x84) || | 333 | if (((sansa->pinfo[0].type != 0x0b) && (sansa->pinfo[0].type != 0x0c)) || |
334 | (sansa->pinfo[2].type != 0x00) || (sansa->pinfo[3].type != 0x00)) { | 334 | (sansa->pinfo[1].type != 0x84) || |
335 | (sansa->pinfo[2].type != 0x00) || | ||
336 | (sansa->pinfo[3].type != 0x00)) { | ||
335 | /* Bad partition layout, abort */ | 337 | /* Bad partition layout, abort */ |
336 | return -1; | 338 | return -1; |
337 | } | 339 | } |