fix utter confusion about session _path in new sessions.

Yikes!
This commit is contained in:
Paul Davis 2014-02-07 13:38:15 -05:00
parent 7bc3e0dab4
commit 60a9213035

View File

@ -136,13 +136,21 @@ Session::pre_engine_init (string fullpath)
/* discover canonical fullpath */
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);
if (!realpath (fullpath.c_str(), buf)) {
if (errno == ENOENT) {
/* fullpath does not exist yet, so realpath() returned
* ENOENT. Just use it as-is
*/
_path = fullpath;
} else {
error << string_compose(_("Could not use path %1 (%2)"), buf, strerror(errno)) << endmsg;
destroy ();
throw failed_constructor();
}
} else {
_path = string(buf);
}
/* we require _path to end with a dir separator */