aboutsummaryrefslogtreecommitdiff
path: root/backends/fs
diff options
context:
space:
mode:
authorCameron Cawley2019-04-15 16:09:06 +0100
committerFilippos Karapetis2019-04-16 00:55:43 +0300
commitab0fab9bf97530cbd6088aa0ffbb67e810a04e7f (patch)
tree6c60d6a9a28d2d09df7e3f631535a296d8459f97 /backends/fs
parent4cb79db612d2e4735a38538bb95aa07131fcda23 (diff)
downloadscummvm-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.cpp2
-rw-r--r--backends/fs/chroot/chroot-fs.cpp10
-rw-r--r--backends/fs/posix/posix-fs-factory.cpp2
-rw-r--r--backends/fs/posix/posix-fs.cpp16
-rw-r--r--backends/fs/posix/posix-fs.h11
-rw-r--r--backends/fs/psp2/psp2-fs-factory.cpp7
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"