OS X: Fix an off-by-one error that was causing the QuickLook and Spotlight plug-ins to crash.
The bug was also present in the app itself, but it didn't crash. git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@93874 e17a0e51-4ae3-4d35-97c3-1a29b211df97
This commit is contained in:
parent
1b1d4c3f6a
commit
527da3c3bb
|
@ -156,7 +156,7 @@ NSArray *CreateArrayByEnumeratingMemoryCardAtURL(NSURL *location)
|
|||
i++;
|
||||
continue;
|
||||
}
|
||||
do {
|
||||
while (i + x < MAX_MEMCARD_BLOCKS) {
|
||||
McdBlock tmpBlock;
|
||||
GetSoloBlockInfo((unsigned char *)memPtr, i + x + 1, &tmpBlock);
|
||||
if ((tmpBlock.Flags & 0x3) == 0x3) {
|
||||
|
@ -167,7 +167,7 @@ NSArray *CreateArrayByEnumeratingMemoryCardAtURL(NSURL *location)
|
|||
} else {
|
||||
break;
|
||||
}
|
||||
} while (i + x - 1 < MAX_MEMCARD_BLOCKS);
|
||||
};
|
||||
PcsxrMemoryObject *obj = [[PcsxrMemoryObject alloc] initWithMcdBlock:&memBlock startingIndex:i size:x];
|
||||
i += x;
|
||||
if (MemBlockFlag(memBlock.Flags) == memFlagDeleted) {
|
||||
|
|
|
@ -172,7 +172,7 @@ Boolean GetMetadataForFile(void *thisInterface, CFMutableDictionaryRef attribute
|
|||
i++;
|
||||
continue;
|
||||
}
|
||||
do {
|
||||
while (i + x < MAX_MEMCARD_BLOCKS) {
|
||||
McdBlock tmpBlock;
|
||||
GetSoloBlockInfo((unsigned char *)fileCData, i + x + 1, &tmpBlock);
|
||||
if ((tmpBlock.Flags & 0x3) == 0x3) {
|
||||
|
@ -183,7 +183,7 @@ Boolean GetMetadataForFile(void *thisInterface, CFMutableDictionaryRef attribute
|
|||
} else {
|
||||
break;
|
||||
}
|
||||
} while (i + x - 1 < MAX_MEMCARD_BLOCKS);
|
||||
};
|
||||
// Ignore deleted blocks
|
||||
i += x;
|
||||
if (MemBlockFlag(memBlock.Flags) == memFlagDeleted) {
|
||||
|
|
|
@ -108,7 +108,7 @@ static inline void ClearMemcardData(char *to, int dsti, char *str)
|
|||
i++;
|
||||
continue;
|
||||
}
|
||||
do {
|
||||
while (i + x < MAX_MEMCARD_BLOCKS) {
|
||||
McdBlock tmpBlock;
|
||||
GetMcdBlockInfo(carNum, i + x + 1, &tmpBlock);
|
||||
if ((tmpBlock.Flags & 0x3) == 0x3) {
|
||||
|
@ -119,7 +119,7 @@ static inline void ClearMemcardData(char *to, int dsti, char *str)
|
|||
} else {
|
||||
break;
|
||||
}
|
||||
} while (i + x - 1 < MAX_MEMCARD_BLOCKS);
|
||||
};
|
||||
@autoreleasepool {
|
||||
PcsxrMemoryObject *obj = [[PcsxrMemoryObject alloc] initWithMcdBlock:&memBlock startingIndex:i size:x];
|
||||
[tmpMemArray addObject:obj];
|
||||
|
|
Loading…
Reference in New Issue