Fixed 64-bit porting issues

Fixed two issues about casting between int and pointer which
cause compilation error in 64-bit mode (eg. for 64-bit emulator)

Change-Id: I5ca9a933a239db73e56d6f27de05aa42bd06a650
This commit is contained in:
Andrew Hsieh 2012-05-02 12:30:00 +08:00
parent 06e51a0aaf
commit 52016c18c3

View File

@ -118,7 +118,7 @@ ZipFileRO::~ZipFileRO() {
*/
int ZipFileRO::entryToIndex(const ZipEntryRO entry) const
{
long ent = ((long) entry) - kZipEntryAdj;
long ent = ((intptr_t) entry) - kZipEntryAdj;
if (ent < 0 || ent >= mHashTableSize || mHashTable[ent].name == NULL) {
ALOGW("Invalid ZipEntryRO %p (%ld)\n", entry, ent);
return -1;
@ -459,7 +459,7 @@ ZipEntryRO ZipFileRO::findEntryByIndex(int idx) const
for (int ent = 0; ent < mHashTableSize; ent++) {
if (mHashTable[ent].name != NULL) {
if (idx-- == 0)
return (ZipEntryRO) (ent + kZipEntryAdj);
return (ZipEntryRO) (intptr_t)(ent + kZipEntryAdj);
}
}