summaryrefslogtreecommitdiff
path: root/src/context.h
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2012-08-02 16:13:58 -0500
committerJohn Wiegley <johnw@newartisans.com>2012-08-02 16:13:58 -0500
commitafc023406ad658f6f9a2cda69d7d6ce9492bc3af (patch)
tree6c8659730d9694af48f7eab48b79d7c89070a7ef /src/context.h
parent2de6af2761672c1b0697e285de20b291a3fc3a55 (diff)
downloadfork-ledger-afc023406ad658f6f9a2cda69d7d6ce9492bc3af.tar.gz
fork-ledger-afc023406ad658f6f9a2cda69d7d6ce9492bc3af.tar.bz2
fork-ledger-afc023406ad658f6f9a2cda69d7d6ce9492bc3af.zip
Always store absolute paths internally
Diffstat (limited to 'src/context.h')
-rw-r--r--src/context.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/context.h b/src/context.h
index 09734b3e..7373be39 100644
--- a/src/context.h
+++ b/src/context.h
@@ -112,16 +112,16 @@ inline parse_context_t open_for_reading(const path& pathname,
const path& cwd)
{
path filename = resolve_path(pathname);
-
+#if BOOST_VERSION >= 104600 && BOOST_FILESYSTEM_VERSION >= 3
+ filename = filesystem::absolute(filename, cwd);
+#else
+ filename = filesystem::complete(filename, cwd);
+#endif
if (! exists(filename))
throw_(std::runtime_error,
_f("Cannot read journal file %1%") % filename);
-#if BOOST_VERSION >= 104600 && BOOST_FILESYSTEM_VERSION >= 3
- path parent(filesystem::absolute(pathname, cwd).parent_path());
-#else
- path parent(filesystem::complete(pathname, cwd).parent_path());
-#endif
+ path parent(pathname.parent_path());
shared_ptr<std::istream> stream(new ifstream(filename));
parse_context_t context(stream, parent);
context.pathname = filename;