From 3472a614ae3b4ecf7f49516a97d387761f0f5820 Mon Sep 17 00:00:00 2001 From: aap Date: Thu, 13 Jun 2019 01:12:37 +0200 Subject: fixed CFileMgr somewhat; still issues when loading saves --- src/FileMgr.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'src/FileMgr.cpp') diff --git a/src/FileMgr.cpp b/src/FileMgr.cpp index 3aad9794..02c797ba 100644 --- a/src/FileMgr.cpp +++ b/src/FileMgr.cpp @@ -5,6 +5,8 @@ #include "patcher.h" #include "FileMgr.h" +const char *_psGetUserFilesFolder(); + /* * Windows FILE is BROKEN for GTA. * @@ -49,14 +51,17 @@ found: return fd; } -static void +static int myfclose(int fd) { + int ret; assert(fd < NUMFILES); if(myfiles[fd].file){ - fclose(myfiles[fd].file); + ret = fclose(myfiles[fd].file); myfiles[fd].file = nil; + return ret; } + return EOF; } static int @@ -158,7 +163,8 @@ myfseek(int fd, long offset, int whence) static int myfeof(int fd) { - return feof(myfiles[fd].file); +// return feof(myfiles[fd].file); + return ferror(myfiles[fd].file); } @@ -205,7 +211,7 @@ void CFileMgr::SetDirMyDocuments(void) { SetDir(""); // better start at the root if user directory is relative - chdir(GetUserDirectory()); + chdir(_psGetUserFilesFolder()); } int @@ -265,10 +271,10 @@ CFileMgr::ReadLine(int fd, char *buf, int len) return myfgets(buf, len, fd); } -void +int CFileMgr::CloseFile(int fd) { - myfclose(fd); + return myfclose(fd); } int -- cgit v1.2.3