remove direct of realpath(2), replace with canonical_path() which is a no-op on windows
This commit is contained in:
parent
2ddab2d2f6
commit
09e471545b
|
@ -31,6 +31,7 @@
|
|||
#include "pbd/file_utils.h"
|
||||
#include "pbd/textreceiver.h"
|
||||
#include "pbd/failed_constructor.h"
|
||||
#include "pbd/pathexpand.h"
|
||||
#include "pbd/pthread_utils.h"
|
||||
#ifdef BOOST_SP_ENABLE_DEBUG_HOOKS
|
||||
#include "pbd/boost_debug.h"
|
||||
|
@ -277,7 +278,7 @@ fixup_bundle_environment (int /*argc*/, char* argv[])
|
|||
lpath.push_back (dir_path);
|
||||
lpath.push_back ("share");
|
||||
lpath.push_back ("locale");
|
||||
localedir = realpath (Glib::build_filename (lpath).c_str(), NULL);
|
||||
localedir = canonical_path (Glib::build_filename (lpath)).c_str();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include <glibmm/miscutils.h>
|
||||
|
||||
#include "pbd/compose.h"
|
||||
#include "pbd/pathexpand.h"
|
||||
#include "pbd/error.h"
|
||||
|
||||
#include "ardour/filename_extensions.h"
|
||||
|
@ -43,16 +44,10 @@ int
|
|||
find_session (string str, string& path, string& snapshot, bool& isnew)
|
||||
{
|
||||
struct stat statbuf;
|
||||
char buf[PATH_MAX+1];
|
||||
|
||||
isnew = false;
|
||||
|
||||
if (!realpath (str.c_str(), buf) && (errno != ENOENT && errno != ENOTDIR)) {
|
||||
error << string_compose (_("Could not resolve path: %1 (%2)"), buf, strerror(errno)) << endmsg;
|
||||
return -1;
|
||||
}
|
||||
|
||||
str = buf;
|
||||
str = canonical_path (str);
|
||||
|
||||
/* check to see if it exists, and what it is */
|
||||
|
||||
|
|
|
@ -64,6 +64,7 @@
|
|||
#include "pbd/enumwriter.h"
|
||||
#include "pbd/error.h"
|
||||
#include "pbd/file_utils.h"
|
||||
#include "pbd/pathexpand.h"
|
||||
#include "pbd/pathscanner.h"
|
||||
#include "pbd/pthread_utils.h"
|
||||
#include "pbd/stacktrace.h"
|
||||
|
@ -128,14 +129,7 @@ Session::first_stage_init (string fullpath, string snapshot_name)
|
|||
throw failed_constructor();
|
||||
}
|
||||
|
||||
char buf[PATH_MAX+1];
|
||||
if (!realpath (fullpath.c_str(), buf) && (errno != ENOENT)) {
|
||||
error << string_compose(_("Could not use path %1 (%2)"), buf, strerror(errno)) << endmsg;
|
||||
destroy ();
|
||||
throw failed_constructor();
|
||||
}
|
||||
|
||||
_path = string(buf);
|
||||
_path = canonical_path (fullpath);
|
||||
|
||||
if (_path[_path.length()-1] != G_DIR_SEPARATOR) {
|
||||
_path += G_DIR_SEPARATOR;
|
||||
|
@ -2664,6 +2658,8 @@ Session::cleanup_sources (CleanupReport& rep)
|
|||
bool used;
|
||||
string spath;
|
||||
int ret = -1;
|
||||
string tmppath1;
|
||||
string tmppath2;
|
||||
|
||||
_state_of_the_state = (StateOfTheState) (_state_of_the_state | InCleanup);
|
||||
|
||||
|
@ -2788,9 +2784,6 @@ Session::cleanup_sources (CleanupReport& rep)
|
|||
i = tmp;
|
||||
}
|
||||
|
||||
char tmppath1[PATH_MAX+1];
|
||||
char tmppath2[PATH_MAX+1];
|
||||
|
||||
if (candidates) {
|
||||
for (vector<string*>::iterator x = candidates->begin(); x != candidates->end(); ++x) {
|
||||
|
||||
|
@ -2799,19 +2792,10 @@ Session::cleanup_sources (CleanupReport& rep)
|
|||
|
||||
for (set<string>::iterator i = all_sources.begin(); i != all_sources.end(); ++i) {
|
||||
|
||||
if (realpath(spath.c_str(), tmppath1) == 0) {
|
||||
error << string_compose (_("Cannot expand path %1 (%2)"),
|
||||
spath, strerror (errno)) << endmsg;
|
||||
continue;
|
||||
}
|
||||
tmppath1 = canonical_path (spath);
|
||||
tmppath2 = canonical_path ((*i));
|
||||
|
||||
if (realpath((*i).c_str(), tmppath2) == 0) {
|
||||
error << string_compose (_("Cannot expand path %1 (%2)"),
|
||||
(*i), strerror (errno)) << endmsg;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (strcmp(tmppath1, tmppath2) == 0) {
|
||||
if (tmppath1 == tmppath2) {
|
||||
used = true;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -18,8 +18,10 @@
|
|||
*/
|
||||
|
||||
#include <vector>
|
||||
#include <climits>
|
||||
#include <iostream>
|
||||
#include <climits>
|
||||
#include <cerrno>
|
||||
#include <cstdlib>
|
||||
|
||||
#include <regex.h>
|
||||
|
||||
|
@ -31,6 +33,21 @@
|
|||
using std::string;
|
||||
using std::vector;
|
||||
|
||||
string
|
||||
PBD::canonical_path (const std::string& path)
|
||||
{
|
||||
#ifdef WIN32
|
||||
return path;
|
||||
#endif
|
||||
char buf[PATH_MAX+1];
|
||||
|
||||
if (!realpath (path.c_str(), buf) && (errno != ENOENT)) {
|
||||
return path;
|
||||
}
|
||||
|
||||
return string (buf);
|
||||
}
|
||||
|
||||
string
|
||||
PBD::path_expand (string path)
|
||||
{
|
||||
|
@ -97,13 +114,7 @@ PBD::path_expand (string path)
|
|||
|
||||
/* canonicalize */
|
||||
|
||||
char buf[PATH_MAX+1];
|
||||
|
||||
if (realpath (path.c_str(), buf)) {
|
||||
return buf;
|
||||
} else {
|
||||
return string();
|
||||
}
|
||||
return canonical_path (path);
|
||||
}
|
||||
|
||||
string
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
#include <string>
|
||||
|
||||
namespace PBD {
|
||||
std::string canonical_path (const std::string& path);
|
||||
std::string path_expand (std::string path);
|
||||
std::string search_path_expand (std::string path);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue