From 5d5f15ca9aaba770a6a72e299ffacb241c56811b Mon Sep 17 00:00:00 2001 From: "Gregory S. Read" <18175637+readgs@users.noreply.github.com> Date: Wed, 3 Apr 2002 04:17:54 +0000 Subject: [PATCH] -Made type cast changes that Ryan needs to approve. -MSVC complained about 64-bit to 32-bit implicit conversions. -Added Win32 specific #defines for 64-bit datatypes. --- physfs.c | 6 ++++-- physfs.h | 8 ++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/physfs.c b/physfs.c index 79808611..45ad0992 100644 --- a/physfs.c +++ b/physfs.c @@ -110,7 +110,8 @@ static ErrMsg *findErrorForCurrentThread(void) __PHYSFS_platformGrabMutex(errorLock); if (errorMessages != NULL) { - tid = __PHYSFS_platformGetThreadID(); + /*!!! I think tid needs to be a 64-bit value??? */ + tid = (int)__PHYSFS_platformGetThreadID(); for (i = errorMessages; i != NULL; i = i->next) { @@ -143,7 +144,8 @@ void __PHYSFS_setError(const char *str) return; /* uhh...? */ memset((void *) err, '\0', sizeof (ErrMsg)); - err->tid = __PHYSFS_platformGetThreadID(); + /*!!! I think tid needs to be a 64-bit value??? */ + err->tid = (int)__PHYSFS_platformGetThreadID(); __PHYSFS_platformGrabMutex(errorLock); err->next = errorMessages; diff --git a/physfs.h b/physfs.h index bb936de0..8bbf714d 100644 --- a/physfs.h +++ b/physfs.h @@ -129,6 +129,10 @@ #ifndef _INCLUDE_PHYSFS_H_ #define _INCLUDE_PHYSFS_H_ +#ifdef _WIN32 +#include +#endif + #ifdef __cplusplus extern "C" { #endif @@ -151,6 +155,10 @@ typedef signed int PHYSFS_sint32; #ifdef PHYSFS_NO_64BIT_SUPPORT /* oh well. */ typedef PHYSFS_uint32 PHYSFS_uint64; typedef PHYSFS_sint32 PHYSFS_sint64; +#elif _WIN32 +/*!!! No 64-bit unsigned in Win32???? */ +typedef LONGLONG PHYSFS_sint64; +typedef LONGLONG PHYSFS_uint64; #else typedef unsigned long long PHYSFS_uint64; typedef signed long long PHYSFS_sint64;