aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/error.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/error.cpp75
1 files changed, 35 insertions, 40 deletions
diff --git a/src/error.cpp b/src/error.cpp
index 10b668b..320c5d0 100644
--- a/src/error.cpp
+++ b/src/error.cpp
@@ -9,45 +9,40 @@
#include <string>
-namespace pdb
-{
- namespace error
- {
- namespace
- {
- std::string trim_trailing_newline(const std::string& s)
- {
- const auto last_pos = s.find_last_not_of("\r\n");
- if (std::string::npos == last_pos)
- return {};
- return s.substr(0, last_pos + 1);
- }
- }
-
- std::string CategoryWindows::message(int code) const
- {
- char* buf;
-
- const auto nbwritten = FormatMessageA(
- FORMAT_MESSAGE_ALLOCATE_BUFFER
- | FORMAT_MESSAGE_FROM_SYSTEM
- | FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- code,
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- reinterpret_cast<char*>(&buf),
- 0,
- NULL);
-
- if (0 == nbwritten)
- {
- LocalFree(buf);
- return "Couldn't format the error message";
- }
-
- std::string msg{buf, nbwritten};
- LocalFree(buf);
- return trim_trailing_newline(msg);
- }
+namespace pdb {
+namespace error {
+namespace {
+
+std::string trim_trailing_newline(const std::string& s) {
+ const auto last_pos = s.find_last_not_of("\r\n");
+ if (std::string::npos == last_pos)
+ return {};
+ return s.substr(0, last_pos + 1);
+}
+
+} // namespace
+
+std::string CategoryWindows::message(int code) const {
+ char* buf;
+
+ const auto nbwritten = FormatMessageA(
+ FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ code,
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ reinterpret_cast<char*>(&buf),
+ 0,
+ NULL);
+
+ if (0 == nbwritten) {
+ LocalFree(buf);
+ return "Couldn't format the error message";
}
+
+ std::string msg{buf, nbwritten};
+ LocalFree(buf);
+ return trim_trailing_newline(msg);
}
+
+} // namespace error
+} // namespace pdb