From 42632cfe1c07fc3bed8dc56efad6fb506945eb44 Mon Sep 17 00:00:00 2001 From: Francesco Salvestrini Date: Sat, 8 Nov 2008 00:35:14 +0100 Subject: [PATCH] Added rmdir() and mkdir() wrappers --- src/libs/fs/utils.cxx | 28 ++++++++++++++++++++++++++++ src/libs/fs/utils.h | 2 ++ 2 files changed, 30 insertions(+) diff --git a/src/libs/fs/utils.cxx b/src/libs/fs/utils.cxx index 56f29f1..da6276f 100644 --- a/src/libs/fs/utils.cxx +++ b/src/libs/fs/utils.cxx @@ -120,4 +120,32 @@ namespace Directory { return true; } + + void mkdir(const std::string & s) + { + BUG_ON(s.size() == 0); + + if (::mkdir(s.c_str(), 0700) != 0) { + throw Exception("Cannot create " + "'" + s + "' " + "directory " + "(" + + std::string(strerror(errno)) + + ")"); + } + } + + void rmdir(const std::string & s) + { + BUG_ON(s.size() == 0); + + if (::rmdir(s.c_str()) != 0) { + throw Exception("Cannot remove " + "'" + s + "' " + "directory" + "(" + + std::string(strerror(errno)) + + ")"); + } + } }; diff --git a/src/libs/fs/utils.h b/src/libs/fs/utils.h index 27b064a..78d55e1 100644 --- a/src/libs/fs/utils.h +++ b/src/libs/fs/utils.h @@ -33,6 +33,8 @@ namespace File { namespace Directory { bool exists(const std::string & s); + void mkdir(const std::string & s); + void rmdir(const std::string & s); }; #endif // LIBS_FS_UTILS_H -- 2.11.4.GIT