From ee9e238179677ad0168ead6edfe17f798dbf47dc Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 4 Sep 2013 23:36:30 +0200 Subject: system/SocketError: un-inline constructor Reduces header dependencies. --- src/system/SocketError.cxx | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/system/SocketError.cxx') diff --git a/src/system/SocketError.cxx b/src/system/SocketError.cxx index d3569c6f1..315a86e1f 100644 --- a/src/system/SocketError.cxx +++ b/src/system/SocketError.cxx @@ -21,4 +21,26 @@ #include "SocketError.hxx" #include "util/Domain.hxx" +#include + const Domain socket_domain("socket"); + +#ifdef WIN32 + +SocketErrorMessage::SocketErrorMessage(socket_error_t code) +{ + DWORD nbytes = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS | + FORMAT_MESSAGE_MAX_WIDTH_MASK, + NULL, code, 0, + (LPSTR)msg, sizeof(msg), NULL); + if (nbytes == 0) + strcpy(msg, "Unknown error"); +} + +#else + +SocketErrorMessage::SocketErrorMessage(socket_error_t code) + :msg(g_strerror(code)) {} + +#endif -- cgit v1.2.3