| 14 | namespace environment |
| 15 | { |
| 16 | void user_data_dir(DynamicString &path) |
| 17 | { |
| 18 | #if CROWN_PLATFORM_WINDOWS |
| 19 | const char *appdata = os::getenv("APPDATA"); |
| 20 | if (appdata == NULL) { |
| 21 | path = ""; |
| 22 | return; |
| 23 | } |
| 24 | |
| 25 | path = appdata; |
| 26 | #else |
| 27 | const char *data_home = os::getenv("XDG_DATA_HOME"); |
| 28 | if (data_home != NULL) { |
| 29 | path = data_home; |
| 30 | return; |
| 31 | } |
| 32 | |
| 33 | const char *home = os::getenv("HOME"); |
| 34 | if (home == NULL) { |
| 35 | path = ""; |
| 36 | return; |
| 37 | } |
| 38 | |
| 39 | path::join(path, home, ".local/share"); |
| 40 | #endif // if CROWN_PLATFORM_WINDOWS |
| 41 | } |
| 42 | |
| 43 | void tmp_dir(DynamicString &path) |
| 44 | { |