X-Git-Url: http://dolda2000.com/gitweb/?a=blobdiff_plain;f=lib%2Fguile%2Fautodl;h=11a5a9096723dbdb941e727ec6d431b87df49da2;hb=baae64a96a63048d96fe60b474d7d99d7c00ca70;hp=1f3c086a3d14a3c9f0293e1a49345ee293a991ca;hpb=625bfcd20218e6fd1ac6348ab8a00a60a956f4d2;p=doldaconnect.git diff --git a/lib/guile/autodl b/lib/guile/autodl index 1f3c086..11a5a90 100755 --- a/lib/guile/autodl +++ b/lib/guile/autodl @@ -211,7 +211,8 @@ (cons 'realsr info-numreal) (cons 'totalsr info-numtotal) (cons 'lastsrch lastsearch) - (cons 'srcheta info-searcheta)) + (cons 'srcheta info-searcheta) + (cons 'srchmode (cdr (assoc 'search-mode session)))) op) (newline op) (close-port op)))) @@ -325,6 +326,9 @@ ) (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 @@ -377,7 +381,7 @@ (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)) @@ -514,8 +518,6 @@ (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)))))) )