diff --git a/src/physfs.c b/src/physfs.c index e3a9fe1..d1c1455 100644 --- a/src/physfs.c +++ b/src/physfs.c @@ -798,8 +798,8 @@ static const char *find_filename_extension(const char *fname) const char *retval = NULL; if (fname != NULL) { - retval = strchr(fname, '.'); - const char *p = retval; + const char *p = strchr(fname, '.'); + retval = p; while (p != NULL) { diff --git a/src/platform_windows.c b/src/platform_windows.c index 6aa7394..e01f7c8 100644 --- a/src/platform_windows.c +++ b/src/platform_windows.c @@ -971,6 +971,7 @@ void *__PHYSFS_platformOpenAppend(const char *filename) } /* __PHYSFS_platformOpenAppend */ +/* !!! FIXME: this function fails if len > 0xFFFFFFFF. */ PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buf, PHYSFS_uint64 len) { HANDLE Handle = ((WinApiFile *) opaque)->handle; @@ -984,8 +985,9 @@ PHYSFS_sint64 __PHYSFS_platformRead(void *opaque, void *buf, PHYSFS_uint64 len) } /* __PHYSFS_platformRead */ +/* !!! FIXME: this function fails if len > 0xFFFFFFFF. */ PHYSFS_sint64 __PHYSFS_platformWrite(void *opaque, const void *buffer, - PHYSFS_uint32 size, PHYSFS_uint32 count) + PHYSFS_uint64 len) { HANDLE Handle = ((WinApiFile *) opaque)->handle; DWORD CountOfBytesWritten = 0;