diff options
author | Tim Mayberry <mojofunk@gmail.com> | 2007-06-27 12:12:07 +0000 |
---|---|---|
committer | Tim Mayberry <mojofunk@gmail.com> | 2007-06-27 12:12:07 +0000 |
commit | 7459379ec42e5807a9134bf448b7cdd7c2d1ce53 (patch) | |
tree | 60cd5465de2141407f7d49a06fd1a2a6a0a20369 /libs/ardour/configuration.cc | |
parent | 4b0a20583015a9a6a0820f980f49f019d2dcd0b5 (diff) |
Use sys::path and ARDOUR::user_config_directory in Configuration::save_state for portability
git-svn-id: svn://localhost/ardour2/trunk@2044 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/configuration.cc')
-rw-r--r-- | libs/ardour/configuration.cc | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/libs/ardour/configuration.cc b/libs/ardour/configuration.cc index 655477e558..2c0143cdba 100644 --- a/libs/ardour/configuration.cc +++ b/libs/ardour/configuration.cc @@ -142,11 +142,23 @@ int Configuration::save_state() { XMLTree tree; - string rcfile; - rcfile = get_user_ardour_path (); - rcfile += "ardour.rc"; + try + { + sys::create_directories (user_config_directory ()); + } + catch (const sys::filesystem_error& ex) + { + error << "Could not create user configuration directory" << endmsg; + return -1; + } + + sys::path rcfile_path(user_config_directory()); + + rcfile_path /= "ardour.rc"; + const string rcfile = rcfile_path.to_string(); + // this test seems bogus? if (rcfile.length()) { tree.set_root (&get_state()); if (!tree.write (rcfile.c_str())){ |