aboutsummaryrefslogtreecommitdiff
path: root/build2/filesystem.hxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2019-04-03 21:19:50 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2019-04-03 21:24:46 +0300
commit6e126ac30038502acf7016f0e76b3183f1304042 (patch)
tree0db3f56340e8c55a559e96762742ec925dbca68d /build2/filesystem.hxx
parenta797f6dd584c6f25bac7b0ed122ea7d1d9a42684 (diff)
Change depdb API and handle system_error thrown by butl::file_mtime()
Previously, debdb operations threw system_error and io_error to signal errors, except for opening which issued diagnostics and failed. Now all operations print the diagnostics and fail on system and IO errors.
Diffstat (limited to 'build2/filesystem.hxx')
-rw-r--r--build2/filesystem.hxx13
1 files changed, 13 insertions, 0 deletions
diff --git a/build2/filesystem.hxx b/build2/filesystem.hxx
index ccc5a73..ed99685 100644
--- a/build2/filesystem.hxx
+++ b/build2/filesystem.hxx
@@ -38,6 +38,19 @@ namespace build2
bool
touch (const path&, bool create, uint16_t verbosity = 1);
+ // Return the modification time for an existing regular file and
+ // timestamp_nonexistent otherwise. Print the diagnostics and fail on system
+ // error.
+ //
+ timestamp
+ mtime (const char*);
+
+ inline timestamp
+ mtime (const path& p)
+ {
+ return mtime (p.string ().c_str ());
+ }
+
// Create the directory and print the standard diagnostics starting from
// the specified verbosity level.
//