From 6844eee3ae939ad737e0f8b40805460ba22705bc Mon Sep 17 00:00:00 2001 From: Tim Mayberry Date: Sat, 23 Jun 2012 05:09:33 +0000 Subject: [PATCH] Use std::string and Glib::build_filename in Session::load_state git-svn-id: svn://localhost/ardour2/branches/3.0@12897 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/session_state.cc | 38 +++++++++++++++++------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/libs/ardour/session_state.cc b/libs/ardour/session_state.cc index 7474ce510e..20761eafc6 100644 --- a/libs/ardour/session_state.cc +++ b/libs/ardour/session_state.cc @@ -865,10 +865,10 @@ Session::load_state (string snapshot_name) /* check for leftover pending state from a crashed capture attempt */ - sys::path xmlpath(_session_dir->root_path()); - xmlpath /= legalize_for_path (snapshot_name) + pending_suffix; + std::string xmlpath(_session_dir->root_path()); + xmlpath = Glib::build_filename (xmlpath, legalize_for_path (snapshot_name) + pending_suffix); - if (Glib::file_test (xmlpath.to_string(), Glib::FILE_TEST_EXISTS)) { + if (Glib::file_test (xmlpath, Glib::FILE_TEST_EXISTS)) { /* there is pending state from a crashed capture attempt */ @@ -879,15 +879,13 @@ Session::load_state (string snapshot_name) } if (!state_was_pending) { - xmlpath = _session_dir->root_path(); - xmlpath /= snapshot_name; + xmlpath = Glib::build_filename (_session_dir->root_path(), snapshot_name); } - if (!Glib::file_test (xmlpath.to_string(), Glib::FILE_TEST_EXISTS)) { - xmlpath = _session_dir->root_path(); - xmlpath /= legalize_for_path (snapshot_name) + statefile_suffix; - if (!Glib::file_test (xmlpath.to_string(), Glib::FILE_TEST_EXISTS)) { - error << string_compose(_("%1: session state information file \"%2\" doesn't exist!"), _name, xmlpath.to_string()) << endmsg; + if (!Glib::file_test (xmlpath, Glib::FILE_TEST_EXISTS)) { + xmlpath = Glib::build_filename (_session_dir->root_path(), legalize_for_path (snapshot_name) + statefile_suffix); + if (!Glib::file_test (xmlpath, Glib::FILE_TEST_EXISTS)) { + error << string_compose(_("%1: session state information file \"%2\" doesn't exist!"), _name, xmlpath) << endmsg; return 1; } } @@ -896,10 +894,10 @@ Session::load_state (string snapshot_name) set_dirty(); - _writable = exists_and_writable (xmlpath.to_string()); + _writable = exists_and_writable (xmlpath); - if (!state_tree->read (xmlpath.to_string())) { - error << string_compose(_("Could not understand ardour file %1"), xmlpath.to_string()) << endmsg; + if (!state_tree->read (xmlpath)) { + error << string_compose(_("Could not understand ardour file %1"), xmlpath) << endmsg; delete state_tree; state_tree = 0; return -1; @@ -908,7 +906,7 @@ Session::load_state (string snapshot_name) XMLNode& root (*state_tree->root()); if (root.name() != X_("Session")) { - error << string_compose (_("Session file %1 is not a session"), xmlpath.to_string()) << endmsg; + error << string_compose (_("Session file %1 is not a session"), xmlpath) << endmsg; delete state_tree; state_tree = 0; return -1; @@ -934,19 +932,19 @@ Session::load_state (string snapshot_name) if (Stateful::loading_state_version < CURRENT_SESSION_FILE_VERSION && _writable) { - sys::path backup_path(_session_dir->root_path()); - - backup_path /= string_compose ("%1-%2%3", legalize_for_path (snapshot_name), Stateful::loading_state_version, statefile_suffix); + std::string backup_path(_session_dir->root_path()); + std::string backup_filename = string_compose ("%1-%2%3", legalize_for_path (snapshot_name), Stateful::loading_state_version, statefile_suffix); + backup_path = Glib::build_filename (backup_path, backup_filename); // only create a backup for a given statefile version once - if (!Glib::file_test (backup_path.to_string(), Glib::FILE_TEST_EXISTS)) { + if (!Glib::file_test (backup_path, Glib::FILE_TEST_EXISTS)) { info << string_compose (_("Copying old session file %1 to %2\nUse %2 with %3 versions before 2.0 from now on"), - xmlpath.to_string(), backup_path.to_string(), PROGRAM_NAME) + xmlpath, backup_path, PROGRAM_NAME) << endmsg; - if (!copy_file (xmlpath.to_string(), backup_path.to_string())) {; + if (!copy_file (xmlpath, backup_path)) {; return -1; } }