aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2016-11-04 08:51:26 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-04 09:26:34 +0200
commitebe762d3d6300dc9a5177b800876d5a65dbe996e (patch)
tree893bdf102bbbef58cb4358265aedf18528f8233d
parent3e0ec9b4d0dd5b02817c5f7a5ad48b55970dacbc (diff)
Add empty(dir_path) to filesystem
-rw-r--r--build2/filesystem3
-rw-r--r--build2/filesystem.cxx14
2 files changed, 17 insertions, 0 deletions
diff --git a/build2/filesystem b/build2/filesystem
index 1b03c0e..325d28d 100644
--- a/build2/filesystem
+++ b/build2/filesystem
@@ -91,6 +91,9 @@ namespace build2
bool
exists (const dir_path&);
+
+ bool
+ empty (const dir_path&);
}
#include <build2/filesystem.txx>
diff --git a/build2/filesystem.cxx b/build2/filesystem.cxx
index c9696dc..be4cad8 100644
--- a/build2/filesystem.cxx
+++ b/build2/filesystem.cxx
@@ -124,4 +124,18 @@ namespace build2
throw failed ();
}
}
+
+ bool
+ empty (const dir_path& d)
+ {
+ try
+ {
+ return dir_empty (d);
+ }
+ catch (const system_error& e)
+ {
+ error << "unable to scan directory " << d << ": " << e.what ();
+ throw failed ();
+ }
+ }
}