diff options
Diffstat (limited to 'cpp/src/qpid/posix/check.cpp')
-rw-r--r-- | cpp/src/qpid/posix/check.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/cpp/src/qpid/posix/check.cpp b/cpp/src/qpid/posix/check.cpp index 2ef52f68b7..408679caa8 100644 --- a/cpp/src/qpid/posix/check.cpp +++ b/cpp/src/qpid/posix/check.cpp @@ -19,15 +19,21 @@ * */ -#include <qpid/QpidError.h> +#include <cerrno> #include "check.h" namespace qpid { namespace sys { -std::string errnoToString() { +std::string +PosixError::getMessage(int errNo) +{ char buf[512]; - return strerror_r(errno, buf, sizeof(buf)); + return std::string(strerror_r(errNo, buf, sizeof(buf))); } +PosixError::PosixError(int errNo, const qpid::SrcLine& loc) throw() + : qpid::QpidError(INTERNAL_ERROR + errNo, getMessage(errNo), loc) +{ } + }} |