+ egw_log debug "search-m-response"
+ set status [z39$i.$setNo responseStatus]
+ egw_log debug "search-m-response1"
+ if {[lindex $status 0] == "OK"} {
+ set nor 0
+ } elseif {[lindex $status 0] == "DBOSD"} {
+ set nor [z39$i.$setNo numberOfRecordsReturned]
+ } else {
+ egw_log debug "search-m-response2"
+ incr zleft -1
+ set zstatus($i) 2
+ return
+ }
+ set hist($setNo,$i,hits) [z39$i.$setNo resultCount]
+ egw_log debug "search-m-response3"
+ set hist($setNo,$i,offset) [expr $start + $nor -1]
+ if {[expr $nor + $start] > [z39$i.$setNo resultCount]} {
+ egw_log debug "search-m-response4"
+ incr zleft -1
+ set zstatus($i) 2
+ return
+ }
+ egw_log debug "search-m-response5"
+ if {$nor >= $number} {
+ egw_log debug "search-m-response6 nor=$nor number=$number"
+ incr zleft -1
+ set zstatus($i) 2
+ return
+ }
+ egw_log debug "search-m-response7"
+ set start [expr $start + $nor]
+ set number [expr $number - $nor]
+ if {[expr $start + $number - 1] > [z39$i.$setNo resultCount]} {
+ set number [expr [z39$i.$setNo resultCount] - $start + 1]
+ }
+ z39$i callback [list search-m-response $setNo $i $start $number]
+ egw_log debug "mpresent start=$number number=$number"
+ z39$i.$setNo present $start $number