2022-09-29 11:37:06 +02:00
|
|
|
/* radare2 - LGPL - Copyright 2022 - pancake */
|
|
|
|
|
|
|
|
// move into file.c ?
|
|
|
|
#include <r_util.h>
|
2022-09-29 12:07:28 +02:00
|
|
|
#if 0
|
|
|
|
macOS:
|
|
|
|
* ~/Library/radare2?
|
|
|
|
Windows
|
|
|
|
* %AppData% ?= XDG_DATA_HOME
|
|
|
|
* %LocalAppData% ?= XDG_CACHE_HOME
|
|
|
|
#endif
|
2022-09-29 11:37:06 +02:00
|
|
|
|
|
|
|
static char *xdg(const char *env, const char *a, const char *s) {
|
|
|
|
char *dir = r_sys_getenv (env);
|
|
|
|
if (R_STR_ISEMPTY (dir)) {
|
|
|
|
free (dir);
|
2022-10-27 16:15:13 +02:00
|
|
|
dir = r_file_home (a);
|
2022-09-29 11:37:06 +02:00
|
|
|
}
|
|
|
|
char *res = r_file_new (dir, "radare2", s, NULL);
|
|
|
|
free (dir);
|
|
|
|
return res;
|
|
|
|
}
|
|
|
|
|
|
|
|
// XDG_CONFIG_HOME User-specific configuration files ~/.var/app/<app-id>/config
|
|
|
|
R_API char *r_xdg_configdir(const char *s) {
|
|
|
|
return xdg ("XDG_CONFIG_HOME", ".config", s);
|
|
|
|
}
|
|
|
|
|
|
|
|
// XDG_DATA_HOME User-specific data ~/.var/app/<app-id>/data
|
|
|
|
R_API char *r_xdg_datadir(const char *s) {
|
2023-02-18 01:25:38 +01:00
|
|
|
return xdg ("XDG_DATA_HOME", ".local" R_SYS_DIR "share", s);
|
2022-09-29 11:37:06 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
// XDG_CACHE_HOME Non-essential user-specific data ~/.var/app/<app-id>/cache
|
|
|
|
R_API char *r_xdg_cachedir(const char *s) {
|
|
|
|
return xdg ("XDG_CACHE_HOME", ".cache", s);
|
|
|
|
}
|