From a366cfe1a2901fb091dec6591c79ec434b38351f Mon Sep 17 00:00:00 2001 From: "Ryan C. Gordon" Date: Wed, 3 Apr 2002 07:40:27 +0000 Subject: [PATCH] Approved zeph's comments, fixed a few of my screwups. --- archivers/grp.c | 9 ++------- archivers/zip.c | 6 +----- physfs.c | 10 ++++------ 3 files changed, 7 insertions(+), 18 deletions(-) diff --git a/archivers/grp.c b/archivers/grp.c index 1d6e88ca..6b962206 100644 --- a/archivers/grp.c +++ b/archivers/grp.c @@ -130,8 +130,7 @@ static PHYSFS_sint64 GRP_read(FileHandle *handle, void *buffer, void *fh = finfo->handle; PHYSFS_sint64 curPos = __PHYSFS_platformTell(fh); PHYSFS_uint64 bytesLeft = (finfo->startPos + finfo->size) - curPos; - /*!!! If objSize is '1' it's quite likely that objsLeft will be greater than 32-bits */ - PHYSFS_uint32 objsLeft = (PHYSFS_uint32)(bytesLeft / objSize); + PHYSFS_uint64 objsLeft = (bytesLeft / objSize); if (objsLeft < objCount) objCount = objsLeft; @@ -158,8 +157,7 @@ static PHYSFS_sint64 GRP_tell(FileHandle *handle) static int GRP_seek(FileHandle *handle, PHYSFS_uint64 offset) { GRPfileinfo *finfo = (GRPfileinfo *) (handle->opaque); - /*!!! Why isn't newPos a 64-bit??? */ - int newPos = (int)(finfo->startPos + offset); + PHYSFS_uint64 newPos = (finfo->startPos + offset); BAIL_IF_MACRO(offset < 0, ERR_INVALID_ARGUMENT, 0); BAIL_IF_MACRO(newPos > finfo->startPos + finfo->size, ERR_PAST_EOF, 0); @@ -289,7 +287,6 @@ static LinkedStringList *GRP_enumerateFiles(DirHandle *h, PHYSFS_uint8 buf[16]; GRPinfo *g = (GRPinfo *) (h->opaque); void *fh = g->handle; - /*!!! This should be a uint32 and not an int...look at loops below */ PHYSFS_uint32 i; LinkedStringList *retval = NULL; LinkedStringList *l = NULL; @@ -302,7 +299,6 @@ static LinkedStringList *GRP_enumerateFiles(DirHandle *h, /* jump to first file entry... */ BAIL_IF_MACRO(!__PHYSFS_platformSeek(fh, 16), NULL, NULL); - /*!!! i needs to be unsigned */ for (i = 0; i < g->totalEntries; i++) { BAIL_IF_MACRO(__PHYSFS_platformRead(fh, buf, 16, 1) != 1, NULL, retval); @@ -341,7 +337,6 @@ static PHYSFS_sint32 getFileEntry(DirHandle *h, const char *name, PHYSFS_uint8 buf[16]; GRPinfo *g = (GRPinfo *) (h->opaque); void *fh = g->handle; - /*!!! This should be a uint32 and not an int...look at loops below */ PHYSFS_uint32 i; char *ptr; int retval = (g->totalEntries + 1) * 16; /* offset of raw file data */ diff --git a/archivers/zip.c b/archivers/zip.c index f66e3ef2..24cf9aec 100644 --- a/archivers/zip.c +++ b/archivers/zip.c @@ -168,8 +168,6 @@ static int ZIP_seek(FileHandle *handle, PHYSFS_uint64 offset) while (offset > 0) { - /* !!! - RYAN, CHECK THIS CAST */ - /* !!! This should be okay since offset will be <= bufsize */ PHYSFS_uint32 chunk = (offset > bufsize) ? bufsize : (PHYSFS_uint32)offset; PHYSFS_sint32 rc = unzReadCurrentFile(fh, buf, chunk); BAIL_IF_MACRO(rc == 0, ERR_IO_ERROR, 0); /* shouldn't happen. */ @@ -273,9 +271,7 @@ static char *ZIP_realpath(unzFile fh, unz_file_info *info, ZIPentry *entry) static int version_does_symlinks(uLong version) { int retval = 0; - /* !!! - RYAN, CHECK THIS CAST */ - /* !!! - You AND the result with 0xFF, so it can't be larger than 0xFF */ - unsigned char hosttype = (unsigned char)((version >> 8) & 0xFF); + PHYSFS_uint8 hosttype = (PHYSFS_uint8) ((version >> 8) & 0xFF); /* * These are the platforms that can build an archive with symlinks, diff --git a/physfs.c b/physfs.c index 45ad0992..21588655 100644 --- a/physfs.c +++ b/physfs.c @@ -21,7 +21,7 @@ typedef struct __PHYSFS_ERRMSGTYPE__ { - int tid; + PHYSFS_uint64 tid; int errorAvailable; char errorString[80]; struct __PHYSFS_ERRMSGTYPE__ *next; @@ -105,13 +105,12 @@ static void *stateLock = NULL; /* protects other PhysFS static state. */ static ErrMsg *findErrorForCurrentThread(void) { ErrMsg *i; - int tid; + PHYSFS_uint64 tid; __PHYSFS_platformGrabMutex(errorLock); if (errorMessages != NULL) { - /*!!! I think tid needs to be a 64-bit value??? */ - tid = (int)__PHYSFS_platformGetThreadID(); + tid = __PHYSFS_platformGetThreadID(); for (i = errorMessages; i != NULL; i = i->next) { @@ -144,8 +143,7 @@ void __PHYSFS_setError(const char *str) return; /* uhh...? */ memset((void *) err, '\0', sizeof (ErrMsg)); - /*!!! I think tid needs to be a 64-bit value??? */ - err->tid = (int)__PHYSFS_platformGetThreadID(); + err->tid = __PHYSFS_platformGetThreadID(); __PHYSFS_platformGrabMutex(errorLock); err->next = errorMessages;