Fixed bug with support for 0MQ version < 2.1

pull/10/head
Robert G. Jakabosky 15 years ago
parent 399258202d
commit 56c4c465c8

@ -1563,7 +1563,11 @@ static const int opt_types[] = {
OPT_TYPE_INT, /* 19 ZMQ_BACKLOG */ OPT_TYPE_INT, /* 19 ZMQ_BACKLOG */
#endif #endif
}; };
#if VERSION_2_1
#define MAX_OPTS ZMQ_BACKLOG #define MAX_OPTS ZMQ_BACKLOG
#else
#define MAX_OPTS ZMQ_RCVMORE
#endif
static ZMQ_Error simple_zmq_send(ZMQ_Socket sock, const char *data, size_t data_len, int flags) { static ZMQ_Error simple_zmq_send(ZMQ_Socket sock, const char *data, size_t data_len, int flags) {
@ -2039,8 +2043,12 @@ static int ZMQ_Socket__events__meth(lua_State *L) {
ZMQ_Socket * this = obj_type_ZMQ_Socket_check(L,1); ZMQ_Socket * this = obj_type_ZMQ_Socket_check(L,1);
uint32_t events = 0; uint32_t events = 0;
ZMQ_Error err = 0; ZMQ_Error err = 0;
#if VERSION_2_1
size_t val_len = sizeof(events); size_t val_len = sizeof(events);
err = zmq_getsockopt(this, ZMQ_EVENTS, &(events), &val_len); err = zmq_getsockopt(this, ZMQ_EVENTS, &(events), &val_len);
#else
luaL_error(L, "'events' method only supported in 0MQ version >= 2.1");
#endif
if(!(0 != err)) { if(!(0 != err)) {
lua_pushinteger(L, events); lua_pushinteger(L, events);

@ -78,7 +78,11 @@ static const int opt_types[] = {
OPT_TYPE_INT, /* 19 ZMQ_BACKLOG */ OPT_TYPE_INT, /* 19 ZMQ_BACKLOG */
#endif #endif
}; };
#if VERSION_2_1
#define MAX_OPTS ZMQ_BACKLOG #define MAX_OPTS ZMQ_BACKLOG
#else
#define MAX_OPTS ZMQ_RCVMORE
#endif
]], ]],
@ -319,8 +323,12 @@ local ZMQ_EVENTS = _M.EVENTS
var_out{ "uint32_t", "events" }, var_out{ "uint32_t", "events" },
var_out{ "ZMQ_Error", "err" }, var_out{ "ZMQ_Error", "err" },
c_source[[ c_source[[
#if VERSION_2_1
size_t val_len = sizeof(${events}); size_t val_len = sizeof(${events});
${err} = zmq_getsockopt(${this}, ZMQ_EVENTS, &(${events}), &val_len); ${err} = zmq_getsockopt(${this}, ZMQ_EVENTS, &(${events}), &val_len);
#else
luaL_error(L, "'events' method only supported in 0MQ version >= 2.1");
#endif
]], ]],
ffi_source[[ ffi_source[[
events_tmp_len[0] = events_tmp_size events_tmp_len[0] = events_tmp_size

Loading…
Cancel
Save