Fixed entry loading.

This commit is contained in:
Ryan C. Gordon 2002-07-23 18:11:12 +00:00
parent e460c9ce9a
commit 083710dfc3
1 changed files with 4 additions and 2 deletions

View File

@ -334,7 +334,7 @@ static int grp_load_entries(const char *name, int forWriting, GRPinfo *info)
{ {
void *fh = NULL; void *fh = NULL;
PHYSFS_uint32 fileCount; PHYSFS_uint32 fileCount;
PHYSFS_uint32 location = 32; /* sizeof sig + sizeof 1st file header. */ PHYSFS_uint32 location = 16; /* sizeof sig. */
GRPentry *entry; GRPentry *entry;
char *ptr; char *ptr;
@ -347,6 +347,8 @@ static int grp_load_entries(const char *name, int forWriting, GRPinfo *info)
BAIL_MACRO(ERR_OUT_OF_MEMORY, 0); BAIL_MACRO(ERR_OUT_OF_MEMORY, 0);
} /* if */ } /* if */
location += (16 * fileCount);
for (entry = info->entries; fileCount > 0; fileCount--, entry++) for (entry = info->entries; fileCount > 0; fileCount--, entry++)
{ {
if (__PHYSFS_platformRead(fh, &entry->name, 12, 1) != 1) if (__PHYSFS_platformRead(fh, &entry->name, 12, 1) != 1)
@ -367,7 +369,7 @@ static int grp_load_entries(const char *name, int forWriting, GRPinfo *info)
entry->size = PHYSFS_swapULE32(entry->size); entry->size = PHYSFS_swapULE32(entry->size);
entry->startPos = location; entry->startPos = location;
location += entry->size + 16; location += entry->size;
} /* for */ } /* for */
__PHYSFS_platformClose(fh); __PHYSFS_platformClose(fh);