+Tue Apr 1 17:46:49 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * expect.scm (expect-select): correct the millisecond timeout
+ arithmetic (from Marko.Kohtala@ntc.nokia.com).
+
+Mon Mar 31 03:23:19 1997 Gary Houston <ghouston@actrix.gen.nz>
+
+ * boot-9.scm (open-input-pipe, open-output-pipe): defined here
+ instead of in libguile.
+ (tm:sec etc.) new accessors for broken-down time.
+ (set-tm:sec etc.) new setters for broken-down time.
+
Thu Mar 27 05:06:00 1997 Gary Houston <ghouston@actrix.gen.nz>
* boot-9.scm (netent:addrtype, servent:port): added missing
(define (utsname:version obj) (vector-ref obj 3))
(define (utsname:machine obj) (vector-ref obj 4))
+(define (tm:sec obj) (vector-ref obj 0))
+(define (tm:min obj) (vector-ref obj 1))
+(define (tm:hour obj) (vector-ref obj 2))
+(define (tm:mday obj) (vector-ref obj 3))
+(define (tm:mon obj) (vector-ref obj 4))
+(define (tm:year obj) (vector-ref obj 5))
+(define (tm:wday obj) (vector-ref obj 6))
+(define (tm:yday obj) (vector-ref obj 7))
+(define (tm:isdst obj) (vector-ref obj 8))
+(define (tm:gmtoff obj) (vector-ref obj 9))
+(define (tm:zone obj) (vector-ref obj 10))
+
+(define (set-tm:sec obj val) (vector-set! obj 0 val))
+(define (set-tm:min obj val) (vector-set! obj 1 val))
+(define (set-tm:hour obj val) (vector-set! obj 2 val))
+(define (set-tm:mday obj val) (vector-set! obj 3 val))
+(define (set-tm:mon obj val) (vector-set! obj 4 val))
+(define (set-tm:year obj val) (vector-set! obj 5 val))
+(define (set-tm:wday obj val) (vector-set! obj 6 val))
+(define (set-tm:yday obj val) (vector-set! obj 7 val))
+(define (set-tm:isdst obj val) (vector-set! obj 8 val))
+(define (set-tm:gmtoff obj val) (vector-set! obj 9 val))
+(define (set-tm:zone obj val) (vector-set! obj 10 val))
+
(define (file-position . args) (apply ftell args))
(define (file-set-position . args) (apply fseek args))
+(define (open-input-pipe command) (open-pipe command OPEN_READ))
+(define (open-output-pipe command) (open-pipe command OPEN_WRITE))
+
(define (move->fdes port fd)
(primitive-move->fdes port fd)
(set-port-revealed! port 1)
;;; simplified select: returns #t if input is waiting or #f if timed out.
;;; timeout is absolute in terms of get-internal-real-time.
(define (expect-select port timeout)
- (let* ((relative (- timeout (get-internal-real-time)))
- (relative-s (inexact->exact
- (floor (/ relative internal-time-units-per-second))))
+ (let* ((relative (/ (- timeout (get-internal-real-time))
+ internal-time-units-per-second))
+ (relative-s (inexact->exact (floor relative)))
(relative-ms (inexact->exact
- (round (/ (* (- relative relative-s) 1000)
- internal-time-units-per-second)))))
+ (round (* (- relative relative-s) 1000)))))
(and (> relative 0)
(pair? (car (select (list port) () ()
relative-s