summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2016-06-25 10:33:59 +1000
committer Vas Crabb <vas@vastheman.com>2016-06-25 10:33:59 +1000
commit52e65cb56786c645898589fd84c7fe0926b108b8 (patch)
tree314fe0975ac91f9b17b62c88950525ac0520f37d
parentc33946ba0b0b9b18f21302fd60711a59314674c9 (diff)
Better fix (nw)
-rw-r--r--src/osd/modules/file/posixdir.cpp15
-rw-r--r--src/osd/modules/file/windir.cpp4
2 files changed, 9 insertions, 10 deletions
diff --git a/src/osd/modules/file/posixdir.cpp b/src/osd/modules/file/posixdir.cpp
index 27e58cbae51..f5db69c0132 100644
--- a/src/osd/modules/file/posixdir.cpp
+++ b/src/osd/modules/file/posixdir.cpp
@@ -37,12 +37,7 @@
#endif
#endif
-#undef _POSIX_C_SOURCE // to get DT_xxx on OS X
-
-// #include this stuff before something else can #define _POSIX_C_SOURCE again
-#include <dirent.h>
-#include <sys/stat.h>
-#include <sys/types.h>
+#define _DARWIN_C_SOURCE // to get DT_xxx on OS X
#include "osdcore.h"
#include "modules/lib/osdlib.h"
@@ -55,6 +50,10 @@
#include <string>
#include <utility>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
namespace osd {
@@ -202,14 +201,14 @@ bool posix_directory::open(std::string const &dirname)
directory::ptr directory::open(std::string const &dirname)
{
- ptr dir;
+ std::unique_ptr<posix_directory> dir;
try { dir.reset(new posix_directory); }
catch (...) { return nullptr; }
if (!dir->open(dirname))
return nullptr;
- return dir;
+ return ptr(std::move(dir));
}
} // namespace osd
diff --git a/src/osd/modules/file/windir.cpp b/src/osd/modules/file/windir.cpp
index f20f95f9a31..88f296689e7 100644
--- a/src/osd/modules/file/windir.cpp
+++ b/src/osd/modules/file/windir.cpp
@@ -140,14 +140,14 @@ bool win_directory::open(std::string const &dirname)
directory::ptr directory::open(std::string const &dirname)
{
// allocate memory to hold the osd_tool_directory structure
- ptr dir;
+ std::unique_ptr<win_directory> dir;
try { dir.reset(new win_directory()); }
catch (...) { return nullptr; }
if (!dir->open(dirname))
return false;
- return dir;
+ return ptr(std::move(dir));
}
} // namesapce osd