From 6e126ac30038502acf7016f0e76b3183f1304042 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Wed, 3 Apr 2019 21:19:50 +0300 Subject: 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. --- build2/filesystem.hxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'build2/filesystem.hxx') 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. // -- cgit v1.1