mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +08:00
Add get_standard_config_dir function
This adds a new get_standard_config_dir, which returns the name of the configuration directory. In XDG, this is ~/.config/gdb/. Future patches will make use of this. 2020-07-05 Tom Tromey <tom@tromey.com> * pathstuff.h (get_standard_config_dir): Declare. * pathstuff.cc (get_standard_config_dir): New function.
This commit is contained in:

committed by
Andrew Burgess

parent
5b3d3560e9
commit
8768c3e362
@ -266,6 +266,38 @@ get_standard_temp_dir ()
|
||||
#endif
|
||||
}
|
||||
|
||||
/* See pathstuff.h. */
|
||||
|
||||
std::string
|
||||
get_standard_config_dir ()
|
||||
{
|
||||
#ifdef __APPLE__
|
||||
#define HOME_CONFIG_DIR "Library/Preferences"
|
||||
#else
|
||||
#define HOME_CONFIG_DIR ".config"
|
||||
#endif
|
||||
|
||||
#ifndef __APPLE__
|
||||
const char *xdg_config_home = getenv ("XDG_CONFIG_HOME");
|
||||
if (xdg_config_home != NULL)
|
||||
{
|
||||
/* Make sure the path is absolute and tilde-expanded. */
|
||||
gdb::unique_xmalloc_ptr<char> abs (gdb_abspath (xdg_config_home));
|
||||
return string_printf ("%s/gdb", abs.get ());
|
||||
}
|
||||
#endif
|
||||
|
||||
const char *home = getenv ("HOME");
|
||||
if (home != NULL)
|
||||
{
|
||||
/* Make sure the path is absolute and tilde-expanded. */
|
||||
gdb::unique_xmalloc_ptr<char> abs (gdb_abspath (home));
|
||||
return string_printf ("%s/" HOME_CONFIG_DIR "/gdb", abs.get ());
|
||||
}
|
||||
|
||||
return {};
|
||||
}
|
||||
|
||||
/* See gdbsupport/pathstuff.h. */
|
||||
|
||||
const char *
|
||||
|
Reference in New Issue
Block a user