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