comparison src/core/filesystem.cc @ 138:28842a8d0c6b

dep/animia: huge refactor (again...) but this time, it actually compiles! and it WORKS! (on win32... not sure about other platforms...) configuring players is still not supported: at some point I'll prune something up...
author Paper <mrpapersonic@gmail.com>
date Sun, 12 Nov 2023 04:53:19 -0500
parents 7d3ad9529c4c
children 80d6b28eb29f
comparison
equal deleted inserted replaced
137:69db40272acd 138:28842a8d0c6b
41 CoTaskMemFree(buf); 41 CoTaskMemFree(buf);
42 return path / CONFIG_DIR; 42 return path / CONFIG_DIR;
43 #elif defined(MACOSX) 43 #elif defined(MACOSX)
44 return std::filesystem::path(osx::GetApplicationSupportDirectory()) / CONFIG_DIR; 44 return std::filesystem::path(osx::GetApplicationSupportDirectory()) / CONFIG_DIR;
45 #else // just assume POSIX 45 #else // just assume POSIX
46 std::filesystem::path path;
46 const char* home = getenv("HOME"); 47 const char* home = getenv("HOME");
47 if (home != NULL)
48 path = home;
49 # ifdef __linux__ 48 # ifdef __linux__
50 else 49 if (!home)
51 path = getpwuid(getuid())->pw_dir; 50 home = getpwuid(getuid())->pw_dir;
52 # endif // __linux__ 51 # endif // __linux__
53 if (!path.empty()) 52 if (!home)
54 return path / ".config"; 53 return std::filesystem::path(home) / ".config";
55 else 54 else
56 return std::filesystem::path(); 55 return std::filesystem::path();
57 #endif // !WIN32 && !MACOSX 56 #endif // !WIN32 && !MACOSX
58 } 57 }
59 58