nixio: FreeBSD compatibility #1
authorSteven Barth <steven@midlink.org>
Thu, 12 Mar 2009 13:06:19 +0000 (13:06 +0000)
committerSteven Barth <steven@midlink.org>
Thu, 12 Mar 2009 13:06:19 +0000 (13:06 +0000)
build/gccconfig.mk
libs/nixio/src/nixio.c
libs/nixio/src/sockopt.c

index d6af2c3..1557c3b 100644 (file)
@@ -1,8 +1,8 @@
 OS ?= $(shell uname)
 
-LUA_SHLIBS = $(shell pkg-config --silence-errors --libs lua5.1 || pkg-config --silence-errors --libs lua)
+LUA_SHLIBS = $(shell pkg-config --silence-errors --libs lua5.1 || pkg-config --silence-errors --libs lua-5.1 || pkg-config --silence-errors --libs lua)
 LUA_LIBS = $(if $(LUA_SHLIBS),$(LUA_SHLIBS),$(firstword $(wildcard /usr/lib/liblua.a /usr/local/lib/liblua.a /opt/local/lib/liblua.a)))
-LUA_CFLAGS = $(shell pkg-config --silence-errors --cflags lua5.1 || pkg-config --silence-errors --cflags lua)
+LUA_CFLAGS = $(shell pkg-config --silence-errors --cflags lua5.1 || pkg-config --silence-errors --cflags lua-5.1 || pkg-config --silence-errors --cflags lua)
 
 CC = gcc
 AR = ar
index 1338371..5e92f14 100644 (file)
@@ -179,7 +179,7 @@ LUALIB_API int luaopen_nixio(lua_State *L) {
        NIXIO_PUSH_CONSTANT(SIGQUIT);
        NIXIO_PUSH_CONSTANT(SIGUSR1);
        NIXIO_PUSH_CONSTANT(SIGUSR2);
-       NIXIO_PUSH_CONSTANT(SIGPOLL);
+       NIXIO_PUSH_CONSTANT(SIGIO);
        NIXIO_PUSH_CONSTANT(SIGURG);
 
        lua_setfield(L, -2, "const");
index 6ec8753..8884e9a 100644 (file)
@@ -17,6 +17,7 @@
  */
 
 #include "nixio.h"
+#include <sys/types.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <netinet/tcp.h>
@@ -148,7 +149,11 @@ static int nixio__getsetsockopt(lua_State *L, int set) {
                        return luaL_error(L, "not a TCP socket");
                }
                if (!strcmp(option, "cork")) {
+#ifdef TCP_CORK
                        return nixio__gso_int(L, sock->fd, IPPROTO_TCP, TCP_CORK, set);
+#else
+                       return nixio__pstatus(L, !(errno = ENOPROTOOPT));
+#endif
                } else if (!strcmp(option, "nodelay")) {
                        return nixio__gso_int(L, sock->fd, IPPROTO_TCP, TCP_NODELAY, set);
                } else {