mirror of
https://github.com/zeromq/libzmq.git
synced 2025-02-21 06:37:44 +01:00
POSIX error codes unsupported on win platform faked
This commit is contained in:
parent
e136d923b7
commit
a0db7f6b81
@ -24,6 +24,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
#include <stddef.h>
|
||||
|
||||
// Microsoft Visual Studio uses non-standard way to export/import symbols.
|
||||
@ -43,9 +44,18 @@ extern "C" {
|
||||
// different OSes. The assumption is that error_t is at least 32-bit type.
|
||||
#define ZMQ_HAUSNUMERO 156384712
|
||||
|
||||
#define EMTHREAD (ZMQ_HAUSNUMERO + 1)
|
||||
#define EFSM (ZMQ_HAUSNUMERO + 2)
|
||||
#define ENOCOMPATPROTO (ZMQ_HAUSNUMERO + 3)
|
||||
// On Windows platform some of the standard POSIX errnos are not defined.
|
||||
#ifndef ENOTSUP
|
||||
#define ENOTSUP (ZMQ_HAUSNUMERO + 1)
|
||||
#endif
|
||||
#ifndef EPROTONOSUPPORT
|
||||
#define EPROTONOSUPPORT (ZMQ_HAUSNUMERO + 2)
|
||||
#endif
|
||||
|
||||
// Native 0MQ error codes.
|
||||
#define EMTHREAD (ZMQ_HAUSNUMERO + 50)
|
||||
#define EFSM (ZMQ_HAUSNUMERO + 51)
|
||||
#define ENOCOMPATPROTO (ZMQ_HAUSNUMERO + 52)
|
||||
|
||||
// Resolves system errors and 0MQ errors to human-readable string.
|
||||
ZMQ_EXPORT const char *zmq_strerror (int errnum);
|
||||
|
13
src/zmq.cpp
13
src/zmq.cpp
@ -39,6 +39,12 @@
|
||||
const char *zmq_strerror (int errnum_)
|
||||
{
|
||||
switch (errnum_) {
|
||||
#if defined ZMQ_HAVE_WINDOWS
|
||||
case ENOTSUP:
|
||||
return "Not supported";
|
||||
case EPROTONOSUPPORT:
|
||||
return "Protocol not supported";
|
||||
#endif
|
||||
case EMTHREAD:
|
||||
return "Number of preallocated application threads exceeded";
|
||||
case EFSM:
|
||||
@ -46,7 +52,14 @@ const char *zmq_strerror (int errnum_)
|
||||
case ENOCOMPATPROTO:
|
||||
return "The protocol is not compatible with the socket type";
|
||||
default:
|
||||
#if defined _MSC_VER
|
||||
#pragma warning (push)
|
||||
#pragma warning (disable:4996)
|
||||
#endif
|
||||
return strerror (errnum_);
|
||||
#if defined _MSC_VER
|
||||
#pragma warning (pop)
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user