summaryrefslogtreecommitdiff
path: root/rbutil/sansapatcher
diff options
context:
space:
mode:
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*
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 }