libs/nixio: fix compile on OS X
authorJo-Philipp Wich <jow@openwrt.org>
Mon, 28 Dec 2009 22:03:42 +0000 (22:03 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Mon, 28 Dec 2009 22:03:42 +0000 (22:03 +0000)
libs/nixio/Makefile
libs/nixio/src/splice.c

index f70f75421c7c539eea0a6d141ab678356274cbe8..c65822f08149075125f421f2e9804a7bde88f421 100644 (file)
@@ -10,8 +10,14 @@ AXTLS_VERSION = 1.2.1
 AXTLS_DIR     = axTLS
 AXTLS_FILE    = $(AXTLS_DIR)-$(AXTLS_VERSION).tar.gz
 NIXIO_TLS    ?= openssl
-NIXIO_LDFLAGS = -lcrypt
 NIXIO_SO      = nixio.so
+NIXIO_LDFLAGS =
+
+ifeq (,$(findstring Darwin,$(OS)))
+       NIXIO_LDFLAGS += -lcrypt
+else
+       EXTRA_CFLAGS += -D__DARWIN__
+endif
 
 NIXIO_OBJ = src/nixio.o src/socket.o src/sockopt.o src/bind.o src/address.o \
            src/poll.o src/io.o src/file.o src/splice.o src/process.o src/syslog.o \
index 8b4f2a1ac07ecd0d90d935650297dae04b03cd94..4f7c04301c67e53ed466946735556ed6196f67e3 100644 (file)
@@ -143,7 +143,11 @@ static int nixio_sendfile(lua_State *L) {
        const off_t offset = lseek(infd, 0, SEEK_CUR);
 
        do {
+#ifdef __DARWIN__
+               r = sendfile(infd, sock, offset, len, NULL, 0);
+#else
                r = sendfile(infd, sock, offset, len, NULL, &spliced, 0);
+#endif
        } while (r == -1 && errno == EINTR);
 
        if (r == -1) {