summaryrefslogtreecommitdiffstats
path: root/src/FileMgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/FileMgr.cpp18
1 files changed, 12 insertions, 6 deletions
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