From 7459379ec42e5807a9134bf448b7cdd7c2d1ce53 Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Wed, 27 Jun 2007 12:12:07 +0000 Subject: [PATCH] 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 --- libs/ardour/configuration.cc | 18 +++++++++++++++--- 1 file 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())){