diff options
author | Cameron Cawley | 2019-04-15 16:09:06 +0100 |
---|---|---|
committer | Filippos Karapetis | 2019-04-16 00:55:43 +0300 |
commit | ab0fab9bf97530cbd6088aa0ffbb67e810a04e7f (patch) | |
tree | 6c60d6a9a28d2d09df7e3f631535a296d8459f97 /backends/fs | |
parent | 4cb79db612d2e4735a38538bb95aa07131fcda23 (diff) | |
download | scummvm-rg350-ab0fab9bf97530cbd6088aa0ffbb67e810a04e7f.tar.gz scummvm-rg350-ab0fab9bf97530cbd6088aa0ffbb67e810a04e7f.tar.bz2 scummvm-rg350-ab0fab9bf97530cbd6088aa0ffbb67e810a04e7f.zip |
POSIX: Move implementation of exists, isReadable and isWritable into posix-fs.cpp
Diffstat (limited to 'backends/fs')
-rw-r--r-- | backends/fs/chroot/chroot-fs-factory.cpp | 2 | ||||
-rw-r--r-- | backends/fs/chroot/chroot-fs.cpp | 10 | ||||
-rw-r--r-- | backends/fs/posix/posix-fs-factory.cpp | 2 | ||||
-rw-r--r-- | backends/fs/posix/posix-fs.cpp | 16 | ||||
-rw-r--r-- | backends/fs/posix/posix-fs.h | 11 | ||||
-rw-r--r-- | backends/fs/psp2/psp2-fs-factory.cpp | 7 |
6 files changed, 23 insertions, 25 deletions
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 <unistd.h> + #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 <unistd.h> + 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 <sys/param.h> #include <sys/stat.h> +#ifdef MACOSX +#include <sys/types.h> +#endif #ifdef PSP2 #include "backends/fs/psp2/psp2-dirent.h" #define mkdir sceIoMkdir @@ -47,6 +50,7 @@ #include <stdio.h> #include <errno.h> #include <fcntl.h> +#include <unistd.h> #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 <sys/types.h> -#endif -#include <unistd.h> - /** * 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" |