From 81caf032f4f0c852c57eb95a2d049cc8ec964c44 Mon Sep 17 00:00:00 2001 From: Björn Steinbrink Date: Thu, 28 Jul 2005 17:51:41 +0000 Subject: Fixed updates directory not being created on non-unix systems. --- src/main.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/main.cpp b/src/main.cpp index b2421a07..219df488 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -160,18 +160,20 @@ void init_engine() std::cout << homeDir << " can't be made, but it doesn't exist! Exitting." << std::endl; exit(1); } +#endif - // Creating and checking the ~/.tmw/updates folder existence and rights. - std::string dataUpdateDir = homeDir + "/updates"; - //sprintf(dataUpdateDir, "%s/updates", homeDir); - if ((mkdir(dataUpdateDir.c_str(), S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH) != 0) && - (errno != EEXIST)) - { - std::cout << dataUpdateDir << " can't be made, but it doesn't exist! Exitting." << std::endl; + if (!PHYSFS_setWriteDir(homeDir.c_str())) { + std::cout << homeDir << " couldn't be set as home directory! Exitting." << std::endl; exit(1); } -#endif + // Creating and checking the updates folder existence and rights. + if (!PHYSFS_exists("/updates")) { + if (!PHYSFS_mkdir("/updates")) { + std::cout << homeDir << "/updates can't be made, but it doesn't exist! Exitting." << std::endl; + exit(1); + } + } // Initialize logger logger = new Logger(homeDir + std::string("/tmw.log")); -- cgit v1.2.3-70-g09d2