diff options
Diffstat (limited to 'indra/mac_updater/MacUpdaterAppDelegate.mm')
-rw-r--r-- | indra/mac_updater/MacUpdaterAppDelegate.mm | 23 |
1 files changed, 23 insertions, 0 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]; |