Fix socket-merge-flags

This commit is contained in:
Justin Ethier 2016-09-23 23:42:15 -04:00
parent b9d76a32bc
commit 94d9e9a4ca

View file

@ -106,14 +106,15 @@
freeaddrinfo(servinfo); // all done with this structure freeaddrinfo(servinfo); // all done with this structure
return_closcall1(data, k, obj_int2obj(sockfd)); ") return_closcall1(data, k, obj_int2obj(sockfd)); ")
(define (socket-merge-flags flags) (define (socket-merge-flags . flags)
(if (null? flags) (if (null? flags)
0 0
(let ((result (car flags))) (let ((result (car flags)))
(for-each (for-each
(lambda (flag) (lambda (flag)
(set! result (num-or result flag))) (set! result (num-or result flag)))
(cdr flags))))) (cdr flags))
result)))
(define-c num-or (define-c num-or
"(void *data, int argc, closure _, object k, object n1, object n2)" "(void *data, int argc, closure _, object k, object n1, object n2)"