diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-04-13 15:50:17 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-04-13 15:50:17 +0200 |
commit | ace1743f7f78bb13f99553d6e97ad1beecf1ba99 (patch) | |
tree | 595bc9dad989e44f4be9a67e351219f3248dc5f0 /build/diagnostics.cxx | |
parent | 534f9d8db025d58c9ce23f3b81a37e8c34386a27 (diff) |
Add separate type to represent directory paths
Diffstat (limited to 'build/diagnostics.cxx')
-rw-r--r-- | build/diagnostics.cxx | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/build/diagnostics.cxx b/build/diagnostics.cxx index 2fad0d3..bc157ed 100644 --- a/build/diagnostics.cxx +++ b/build/diagnostics.cxx @@ -57,6 +57,24 @@ namespace build return p.string (); } + string + diag_relative (const dir_path& d, bool cur) + { + string r (diag_relative (static_cast<const path&> (d))); + + // Translate "." to empty. + // + if (!cur && d.absolute () && r == ".") + r.clear (); + + // Add trailing '/'. + // + if (!r.empty () && !dir_path::traits::is_separator (r.back ())) + r += '/'; + + return r; + } + // diag_do(), etc. // string |