From b9d76a32bcf4cd5ee293f4036a5613d9561ad276 Mon Sep 17 00:00:00 2001 From: Justin Ethier Date: Fri, 23 Sep 2016 22:50:15 -0400 Subject: [PATCH] WIP --- srfi/106.sld | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/srfi/106.sld b/srfi/106.sld index c6079e8c..ce0341dc 100644 --- a/srfi/106.sld +++ b/srfi/106.sld @@ -107,8 +107,17 @@ return_closcall1(data, k, obj_int2obj(sockfd)); ") (define (socket-merge-flags flags) - ) + (if (null? flags) + 0 + (let ((result (car flags))) + (for-each + (lambda (flag) + (set! result (num-or result flag))) + (cdr flags))))) + (define-c num-or + "(void *data, int argc, closure _, object k, object n1, object n2)" + " return_closcall1(data, k, Cyc_bit_or(data, n1, n2));") ;(define (socket-purge-flags flags) ;)