Simplified optional arg handling a bit.

This commit is contained in:
shivers 1998-05-02 17:13:09 +00:00
parent c55ec06130
commit 29c3ebf99a
1 changed files with 10 additions and 20 deletions

View File

@ -33,16 +33,11 @@
(define (select!/copyback/errno read-vec write-vec (define (select!/copyback/errno read-vec write-vec
exception-vec . maybe-timeout) exception-vec . maybe-timeout)
(let ((timeout (and (pair? maybe-timeout) (let* ((timeout (:optional maybe-timeout #f))
(if (pair? (cdr maybe-timeout)) (timeout (and timeout
(apply error "Too many arguments" (real->exact-integer (check-arg real?
select!/copyback/errno timeout
read-vec write-vec exception-vec select!/copyback/errno))))
maybe-timeout)
(real->exact-integer (check-arg real?
(car maybe-timeout)
select!/copyback/errno)))))
(vec-ok? (lambda (v) (vec-ok? (lambda (v)
(vector-every? (lambda (elt) (vector-every? (lambda (elt)
(or (and (integer? elt) (>= elt 0)) (or (and (integer? elt) (>= elt 0))
@ -95,16 +90,11 @@
(values nr nw ne)))) (values nr nw ne))))
(define (select!/errno read-vec write-vec exception-vec . maybe-timeout) (define (select!/errno read-vec write-vec exception-vec . maybe-timeout)
(let ((timeout (and (pair? maybe-timeout) (let* ((timeout (:optional maybe-timeout #f))
(if (pair? (cdr maybe-timeout)) (timeout (and timeout
(apply error "Too many arguments" (real->exact-integer (check-arg real?
select!/copyback/errno timeout
read-vec write-vec exception-vec select!/copyback/errno))))
maybe-timeout)
(real->exact-integer (check-arg real?
(car maybe-timeout)
select!/copyback/errno)))))
(vec-ok? (lambda (v) (vec-ok? (lambda (v)
(vector-every? (lambda (elt) (vector-every? (lambda (elt)
(or (and (integer? elt) (>= elt 0)) (or (and (integer? elt) (>= elt 0))