summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAura Linden <aura@lindenlab.com>2012-12-18 13:30:21 -0800
committerAura Linden <aura@lindenlab.com>2012-12-18 13:30:21 -0800
commita9a21ecffa52ad0e53000c4fdd94569c50022889 (patch)
treee3c873aaa65d6c366905f8d0032000d145027df3
parentb6abf5c0ee964ced6b8aa25872db597d3f024bfd (diff)
Switched mkTempDir back to using apple standard tempdir behavior instead of /tmp
-rw-r--r--indra/mac_updater/MacUpdaterAppDelegate.mm23
-rw-r--r--indra/mac_updater/mac_updater.cpp14
2 files changed, 23 insertions, 14 deletions
diff --git a/indra/mac_updater/MacUpdaterAppDelegate.mm b/indra/mac_updater/MacUpdaterAppDelegate.mm
index b6f95eef7e..4457419a94 100644
--- a/indra/mac_updater/MacUpdaterAppDelegate.mm
+++ b/indra/mac_updater/MacUpdaterAppDelegate.mm
@@ -124,6 +124,29 @@ void sendProgress(int cur, int max, const std::string str)
setProgressText(str);
}
+bool mkTempDir(boost::filesystem::path& temp_dir)
+{
+ NSString * tempDir = NSTemporaryDirectory();
+ if (tempDir == nil)
+ tempDir = @"/tmp/";
+
+ std::string* temp_str = NSToString(tempDir);
+ *temp_str += std::string("SecondLifeUpdate_XXXXXX");
+
+ std::cout << "tempDir is " << temp_str << std::endl;
+
+ char temp[PATH_MAX] = ""; /* Flawfinder: ignore */
+ strncpy(temp, temp_str->c_str(), temp_str->length());
+
+ if(mkdtemp(temp) == NULL)
+ {
+ return false;
+ }
+
+ temp_dir = boost::filesystem::path(temp);
+
+ return true;
+}
bool copyDir(const std::string& src_dir, const std::string& dest_dir)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
diff --git a/indra/mac_updater/mac_updater.cpp b/indra/mac_updater/mac_updater.cpp
index fc9565d63d..bc9fec3558 100644
--- a/indra/mac_updater/mac_updater.cpp
+++ b/indra/mac_updater/mac_updater.cpp
@@ -494,20 +494,6 @@ bool LLMacUpdater::doInstall(const boost::filesystem::path& app_dir,
return true;
}
-bool mkTempDir(boost::filesystem::path& temp_dir)
-{
- char temp_str[PATH_MAX] = "/tmp/SecondLifeUpdate_XXXXXX";
-
- if(mkdtemp(temp_str) == NULL)
- {
- return false;
- }
-
- temp_dir = boost::filesystem::path(temp_str);
-
- return true;
-}
-
void* LLMacUpdater::updatethreadproc(void*)
{
char tempDir[PATH_MAX] = ""; /* Flawfinder: ignore */