Commit 72b15a6d authored by Martin Sustrik's avatar Martin Sustrik

Implementation of zmq_strerror moved from zmq.cpp to err.cpp

Signed-off-by: 's avatarMartin Sustrik <sustrik@250bpm.com>
parent 61d38fbe
......@@ -22,6 +22,47 @@
#include "err.hpp"
#include "platform.hpp"
const char *zmq::errno_to_string (int errno_)
{
switch (errno_) {
#if defined ZMQ_HAVE_WINDOWS
case ENOTSUP:
return "Not supported";
case EPROTONOSUPPORT:
return "Protocol not supported";
case ENOBUFS:
return "No buffer space available";
case ENETDOWN:
return "Network is down";
case EADDRINUSE:
return "Address in use";
case EADDRNOTAVAIL:
return "Address not available";
case ECONNREFUSED:
return "Connection refused";
case EINPROGRESS:
return "Operation in progress";
#endif
case EFSM:
return "Operation cannot be accomplished in current state";
case ENOCOMPATPROTO:
return "The protocol is not compatible with the socket type";
case ETERM:
return "Context was terminated";
case EMTHREAD:
return "No thread available";
default:
#if defined _MSC_VER
#pragma warning (push)
#pragma warning (disable:4996)
#endif
return strerror (errno_);
#if defined _MSC_VER
#pragma warning (pop)
#endif
}
}
#ifdef ZMQ_HAVE_WINDOWS
const char *zmq::wsa_error()
......
......@@ -35,15 +35,18 @@
#include <netdb.h>
#endif
namespace zmq
{
const char *errno_to_string (int errno_);
}
#ifdef ZMQ_HAVE_WINDOWS
namespace zmq
{
const char *wsa_error ();
void win_error (char *buffer_, size_t buffer_size_);
void wsa_error_to_errno ();
}
// Provides convenient way to check WSA-style errors on Windows.
......
......@@ -63,43 +63,7 @@ void zmq_version (int *major_, int *minor_, int *patch_)
const char *zmq_strerror (int errnum_)
{
switch (errnum_) {
#if defined ZMQ_HAVE_WINDOWS
case ENOTSUP:
return "Not supported";
case EPROTONOSUPPORT:
return "Protocol not supported";
case ENOBUFS:
return "No buffer space available";
case ENETDOWN:
return "Network is down";
case EADDRINUSE:
return "Address in use";
case EADDRNOTAVAIL:
return "Address not available";
case ECONNREFUSED:
return "Connection refused";
case EINPROGRESS:
return "Operation in progress";
#endif
case EFSM:
return "Operation cannot be accomplished in current state";
case ENOCOMPATPROTO:
return "The protocol is not compatible with the socket type";
case ETERM:
return "Context was terminated";
case EMTHREAD:
return "No thread available";
default:
#if defined _MSC_VER
#pragma warning (push)
#pragma warning (disable:4996)
#endif
return strerror (errnum_);
#if defined _MSC_VER
#pragma warning (pop)
#endif
}
return zmq::errno_to_string (errnum_);
}
int zmq_msg_init (zmq_msg_t *msg_)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment