Author: ehuelsmann Date: Tue Jul 24 17:34:38 2007 New Revision: 275
Modified: usocket/trunk/backend/sbcl.lisp Log: Fix ECL to work both with current HEAD and the 9i(and possibly earlier) releases.
Modified: usocket/trunk/backend/sbcl.lisp ============================================================================== --- usocket/trunk/backend/sbcl.lisp (original) +++ usocket/trunk/backend/sbcl.lisp Tue Jul 24 17:34:38 2007 @@ -47,6 +47,17 @@ "#endif" "#include <winsock2.h>" ) + (ffi:clines + "#include <ecl/ecl-inl.h>") + #+:prefixed-api + (ffi:clines + "#define CONS(x, y) ecl_cons((x), (y))" + "#define MAKE_INTEGER(x) ecl_make_integer((x))") + #-:prefixed-api + (ffi:clines + "#define CONS(x, y) make_cons((x), (y))" + "#define MAKE_INTEGER(x) make_integer((x))") +
(defun fd-setsize () (ffi:c-inline () () fixnum @@ -109,7 +120,7 @@ while (CONSP(cur_fd)) { int fd = fixint(cur_fd->cons.car); if (FD_ISSET(fd, &rfds)) - rv = make_cons(make_integer(fd), rv); + rv = CONS(MAKE_INTEGER(fd), rv);
cur_fd = cur_fd->cons.cdr; }