From 938f887438a4282c7ae34db78683b22100a6932d Mon Sep 17 00:00:00 2001
From: Pawel Andruszkiewicz
Date: Thu, 11 Jun 2015 13:20:30 +0200
Subject: [PATCH] [Common] Added safe method to obtain string representation of
system error codes.
Change-Id: I02258f8b372610c03cced417a63163c07c251e5c
Signed-off-by: Pawel Andruszkiewicz
---
src/common/tools.cc | 7 +++++++
src/common/tools.h | 9 +++++++++
2 files changed, 16 insertions(+)
diff --git a/src/common/tools.cc b/src/common/tools.cc
index 711bb8f1..679f2c0a 100644
--- a/src/common/tools.cc
+++ b/src/common/tools.cc
@@ -274,5 +274,12 @@ PlatformResult CheckAccess(const std::vector& privileges) {
}
}
+std::string GetErrorString(int error_code) {
+ static const size_t kSize = 1024;
+ char msg[kSize] = {0};
+ strerror_r(error_code, msg, kSize);
+ return msg;
+}
+
} // namespace tools
} // namespace common
diff --git a/src/common/tools.h b/src/common/tools.h
index fecdea67..56b9a8af 100644
--- a/src/common/tools.h
+++ b/src/common/tools.h
@@ -60,6 +60,15 @@ do { \
} \
} while (0)
+/**
+ * @brief Safe wrapper of strerror() function.
+ *
+ * @param[in] error_code - error code to be passed to strerror()
+ *
+ * @return string representation of error_code
+ */
+std::string GetErrorString(int error_code);
+
} // namespace tools
} // namespace common
--
2.34.1