aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/engine/kfile.cpp70
1 files changed, 2 insertions, 68 deletions
diff --git a/engines/sci/engine/kfile.cpp b/engines/sci/engine/kfile.cpp
index b61c56ec35..e018dc0420 100644
--- a/engines/sci/engine/kfile.cpp
+++ b/engines/sci/engine/kfile.cpp
@@ -60,10 +60,6 @@
#include <unistd.h>
#endif
-#ifndef O_BINARY
-#define O_BINARY 0
-#endif
-
#ifdef WIN32
# define FO_BINARY "b"
#else
@@ -79,7 +75,6 @@
namespace Sci {
-
struct sci_dir_t {
#ifdef WIN32
long search;
@@ -132,27 +127,6 @@ FILE *sci_fopen(const char *fname, const char *mode);
** Always refers to the cwd, cannot address subdirectories
*/
-int sci_open(const char *fname, int flags);
-/* Opens a file descriptor case-insensitively
-** Parameters: (const char *) fname: Name of the file to open
-** (int) flags: open(2) flags for the file
-** Returns : (int) a file descriptor of the open file,
-** or SCI_INVALID_FD on failure
-** Always refers to the cwd, cannot address subdirectories
-*/
-
-char *sci_getcwd();
-/* Returns the current working directory, malloc'd.
-** Parameters: (void)
-** Returns : (char *) a malloc'd cwd, or NULL if it couldn't be determined.
-*/
-
-int sci_fd_size(int fd);
-/* Returns the filesize of an open file
-** Parameters: (int) fd: File descriptor of open file
-** Returns : (int) filesize of file pointed to by fd, -1 on error
-*/
-
int sci_file_size(const char *fname);
/* Returns the filesize of a file
** Parameters: (const char *) fname: Name of file to get filesize of
@@ -322,42 +296,6 @@ FILE *sci_fopen(const char *fname, const char *mode) {
return file;
}
-int sci_open(const char *fname, int flags) {
- int file = SCI_INVALID_FD;
- Common::String name = _fcaseseek(fname);
- if (!name.empty())
- file = open(name.c_str(), flags);
-
- return file;
-}
-
-char *sci_getcwd() {
- int size = 0;
- char *cwd = NULL;
-
- while (size < 8192) {
- size += 256;
- cwd = (char*)sci_malloc(size);
- if (getcwd(cwd, size - 1))
- return cwd;
-
- free(cwd);
- }
-
- fprintf(stderr, "Could not determine current working directory!\n");
-
- return NULL;
-}
-
-int sci_fd_size(int fd) {
- struct stat fd_stat;
-
- if (fstat(fd, &fd_stat))
- return -1;
-
- return fd_stat.st_size;
-}
-
int sci_file_size(const char *fname) {
struct stat fn_stat;
@@ -369,7 +307,6 @@ int sci_file_size(const char *fname) {
-
static int _savegame_indices_nr = -1; // means 'uninitialized'
static struct _savegame_index_struct {
@@ -569,16 +506,13 @@ reg_t kFGets(EngineState *s, int funct_nr, int argc, reg_t *argv) {
** Writes the cwd to the supplied address and returns the address in acc.
*/
reg_t kGetCWD(EngineState *s, int funct_nr, int argc, reg_t *argv) {
- char *wd = sci_getcwd();
char *targetaddr = kernel_dereference_char_pointer(s, argv[0], 0);
- strncpy(targetaddr, wd, MAX_SAVE_DIR_SIZE - 1);
+ getcwd(targetaddr, MAX_SAVE_DIR_SIZE - 1);
+
targetaddr[MAX_SAVE_DIR_SIZE - 1] = 0; // Terminate
debug(3, "kGetCWD() -> %s", targetaddr);
- SCIkdebug(SCIkFILE, "Copying cwd='%s'(%d chars) to %p", wd, strlen(wd), targetaddr);
-
- free(wd);
return argv[0];
}