)
(define (handlesr filename fnet peer size slots resptime hash)
+ (if (eq? (cdr (assoc 'search-mode session)) 'wait)
+ (begin (set-cdr! (assoc 'search-mode session) 'normal)
+ (logf "reverting to normal mode")))
(let ((cl (or (assoc size sr)
(let ((newp (cons size '()))) (set! sr (append sr (list newp))) newp)))
(newsr (list
(define (autodl-main args)
(let ((dc-server #f) (done #f) (retval 0))
- (let ((getopt (make-getopt (cdr args) "hs:S:e:p:t:a:I:")) (arg #f))
+ (let ((getopt (make-getopt (cdr args) "whs:S:e:p:t:a:I:")) (arg #f))
(do ((arg (getopt) (getopt))) ((not (and (pair? arg) (char? (car arg)))) (set! args arg))
(cond ((eq? (car arg) #\h)
(begin (display "usage: autodl [-s server] -S sessfile\n" (current-error-port))
(if (not (assoc 'maxtrans session))
(set! session (cons '(maxtrans . 1) session)))
(if (not (assoc 'search-mode session))
- (set! session (cons '(search-mode . wait) session)))
+ (set! session (cons '(search-mode . normal) session)))
(if (not (validate-session session)) (begin (display "Invalid session!\n" (current-error-port)) (exit 1)))
(if (not dc-server) (set! dc-server (getenv "DCSERVER")))
(if (not dc-server) (set! dc-server "localhost"))
(write-info-file)))))
((622) ; Search result
(let ((ires (list->vector (dc-intresp resp))))
- (if (eq? (cdr (assoc 'search-mode session)) 'wait)
- (set-cdr! (assoc 'search-mode session) 'normal))
(if (and ires (= (vector-ref ires 0) srchid)) (apply handlesr (map (lambda (n) (vector-ref ires n)) '(1 2 3 4 5 7 8))))))
)