From ab0fab9bf97530cbd6088aa0ffbb67e810a04e7f Mon Sep 17 00:00:00 2001 From: Cameron Cawley Date: Mon, 15 Apr 2019 16:09:06 +0100 Subject: POSIX: Move implementation of exists, isReadable and isWritable into posix-fs.cpp --- backends/fs/chroot/chroot-fs-factory.cpp | 2 ++ backends/fs/chroot/chroot-fs.cpp | 10 ---------- backends/fs/posix/posix-fs-factory.cpp | 2 ++ backends/fs/posix/posix-fs.cpp | 16 ++++++++++++++++ backends/fs/posix/posix-fs.h | 11 +++-------- backends/fs/psp2/psp2-fs-factory.cpp | 7 ------- 6 files changed, 23 insertions(+), 25 deletions(-) (limited to 'backends/fs') diff --git a/backends/fs/chroot/chroot-fs-factory.cpp b/backends/fs/chroot/chroot-fs-factory.cpp index dadc50bd0e..ac8d9b65f0 100644 --- a/backends/fs/chroot/chroot-fs-factory.cpp +++ b/backends/fs/chroot/chroot-fs-factory.cpp @@ -29,6 +29,8 @@ #define FORBIDDEN_SYMBOL_EXCEPTION_random #define FORBIDDEN_SYMBOL_EXCEPTION_srandom +#include + #include "backends/fs/chroot/chroot-fs-factory.h" #include "backends/fs/chroot/chroot-fs.h" diff --git a/backends/fs/chroot/chroot-fs.cpp b/backends/fs/chroot/chroot-fs.cpp index c10cc0b880..3bbee278c9 100644 --- a/backends/fs/chroot/chroot-fs.cpp +++ b/backends/fs/chroot/chroot-fs.cpp @@ -22,16 +22,6 @@ #if defined(POSIX) -// Re-enable some forbidden symbols to avoid clashes with stat.h and unistd.h. -// Also with clock() in sys/time.h in some Mac OS X SDKs. -#define FORBIDDEN_SYMBOL_EXCEPTION_time_h -#define FORBIDDEN_SYMBOL_EXCEPTION_unistd_h -#define FORBIDDEN_SYMBOL_EXCEPTION_mkdir -#define FORBIDDEN_SYMBOL_EXCEPTION_getenv -#define FORBIDDEN_SYMBOL_EXCEPTION_exit //Needed for IRIX's unistd.h -#define FORBIDDEN_SYMBOL_EXCEPTION_random -#define FORBIDDEN_SYMBOL_EXCEPTION_srandom - #include "backends/fs/chroot/chroot-fs.h" ChRootFilesystemNode::ChRootFilesystemNode(const Common::String &root, POSIXFilesystemNode *node) { diff --git a/backends/fs/posix/posix-fs-factory.cpp b/backends/fs/posix/posix-fs-factory.cpp index 6ef5fce8b7..94959921f3 100644 --- a/backends/fs/posix/posix-fs-factory.cpp +++ b/backends/fs/posix/posix-fs-factory.cpp @@ -34,6 +34,8 @@ #include "backends/fs/posix/posix-fs-factory.h" #include "backends/fs/posix/posix-fs.h" +#include + AbstractFSNode *POSIXFilesystemFactory::makeRootFileNode() const { return new POSIXFilesystemNode("/"); } diff --git a/backends/fs/posix/posix-fs.cpp b/backends/fs/posix/posix-fs.cpp index b0c888966f..9d2416a9bc 100644 --- a/backends/fs/posix/posix-fs.cpp +++ b/backends/fs/posix/posix-fs.cpp @@ -38,6 +38,9 @@ #include #include +#ifdef MACOSX +#include +#endif #ifdef PSP2 #include "backends/fs/psp2/psp2-dirent.h" #define mkdir sceIoMkdir @@ -47,6 +50,7 @@ #include #include #include +#include #ifdef __OS2__ #define INCL_DOS @@ -54,6 +58,18 @@ #endif +bool POSIXFilesystemNode::exists() const { + return access(_path.c_str(), F_OK) == 0; +} + +bool POSIXFilesystemNode::isReadable() const { + return access(_path.c_str(), R_OK) == 0; +} + +bool POSIXFilesystemNode::isWritable() const { + return access(_path.c_str(), W_OK) == 0; +} + void POSIXFilesystemNode::setFlags() { struct stat st; diff --git a/backends/fs/posix/posix-fs.h b/backends/fs/posix/posix-fs.h index 5a6b6bd2bd..5ad26ff027 100644 --- a/backends/fs/posix/posix-fs.h +++ b/backends/fs/posix/posix-fs.h @@ -25,11 +25,6 @@ #include "backends/fs/abstract-fs.h" -#ifdef MACOSX -#include -#endif -#include - /** * Implementation of the ScummVM file system API based on POSIX. * @@ -59,13 +54,13 @@ public: */ POSIXFilesystemNode(const Common::String &path); - virtual bool exists() const { return access(_path.c_str(), F_OK) == 0; } + virtual bool exists() const; virtual Common::String getDisplayName() const { return _displayName; } virtual Common::String getName() const { return _displayName; } virtual Common::String getPath() const { return _path; } virtual bool isDirectory() const { return _isDirectory; } - virtual bool isReadable() const { return access(_path.c_str(), R_OK) == 0; } - virtual bool isWritable() const { return access(_path.c_str(), W_OK) == 0; } + virtual bool isReadable() const; + virtual bool isWritable() const; virtual AbstractFSNode *getChild(const Common::String &n) const; virtual bool getChildren(AbstractFSList &list, ListMode mode, bool hidden) const; diff --git a/backends/fs/psp2/psp2-fs-factory.cpp b/backends/fs/psp2/psp2-fs-factory.cpp index 946eb10649..fcd7709803 100644 --- a/backends/fs/psp2/psp2-fs-factory.cpp +++ b/backends/fs/psp2/psp2-fs-factory.cpp @@ -20,13 +20,6 @@ * */ -// Re-enable some forbidden symbols to avoid clashes with stat.h and unistd.h. -// Also with clock() in sys/time.h in some Mac OS X SDKs. -#define FORBIDDEN_SYMBOL_EXCEPTION_time_h -#define FORBIDDEN_SYMBOL_EXCEPTION_unistd_h -#define FORBIDDEN_SYMBOL_EXCEPTION_mkdir -#define FORBIDDEN_SYMBOL_EXCEPTION_exit //Needed for IRIX's unistd.h - #include "backends/fs/posix/posix-fs-factory.h" #include "backends/fs/posix/posix-fs.h" #include "backends/fs/psp2/psp2-fs-factory.h" -- cgit v1.2.3