diff --git a/evpp/server_status.h b/evpp/server_status.h index 3a83725..f28f833 100644 --- a/evpp/server_status.h +++ b/evpp/server_status.h @@ -25,7 +25,7 @@ public: }; std::string StatusToString() const { - H_CASE_STRING_BIGIN(status_); + H_CASE_STRING_BIGIN(+status_); H_CASE_STRING(kNull); H_CASE_STRING(kInitialized); H_CASE_STRING(kRunning); diff --git a/evpp/sockets.cc b/evpp/sockets.cc index 333c05c..c547d88 100644 --- a/evpp/sockets.cc +++ b/evpp/sockets.cc @@ -22,6 +22,14 @@ std::string strerror(int e) { } return empty_string; +#elif defined(__APPLE__) + char buf[2048] = {}; + strerror_r(e, buf, sizeof(buf) - 1); + const char* s = buf; + if (s) { + return std::string(s); + } + return std::string(); #else char buf[2048] = {}; const char* s = strerror_r(e, buf, sizeof(buf) - 1); diff --git a/evpp/tcp_conn.cc b/evpp/tcp_conn.cc index b7678d0..527b2b9 100644 --- a/evpp/tcp_conn.cc +++ b/evpp/tcp_conn.cc @@ -309,7 +309,7 @@ void TCPConn::SetTCPNoDelay(bool on) { } std::string TCPConn::StatusToString() const { - H_CASE_STRING_BIGIN(status_); + H_CASE_STRING_BIGIN(+status_); H_CASE_STRING(kDisconnected); H_CASE_STRING(kConnecting); H_CASE_STRING(kConnected);