#
-# $Id: z39util.tcl,v 1.10 1995/11/14 09:53:16 adam Exp $
+# $Id: z39util.tcl,v 1.11 1995/11/14 16:01:52 adam Exp $
#
proc saveState {} {
uplevel #0 {
displayError "Cannot connect to target" $host
return 0
} elseif {$sessionWait == 0} {
- zwait sessionWait
+ if {[catch {zwait sessionWait 300}]} {
+ $zz disconnect
+ displayError "Cannot connect to target" $host
+ return 0
+ }
if {$sessionWait != 1} {
displayError "Cannot connect to target" $host
return 0
set sessionWait 0
if {[catch {$zz init}]} {
displayError "Cannot initialize target" $host
+ $zz disconnect
return 0
}
if {[catch {zwait sessionWait 60}]} {
$zz.$setNo mediumSetElementSetNames $elements
$zz.$setNo recordElements $elements
+ wlog debug "database=$database"
eval $zz.$setNo databaseNames $database
$zz.$setNo preferredRecordSyntax USMARC
$zz.$setNo search $query
if {[catch {zwait sessionWait 600}]} {
- wlog debug "timeout/cancel in present"
+ wlog debug "timeout/cancel in search"
displayError "Timeout in search" {}
html "</body></html>\n"
$zz disconnect
return 0
}
- if {$sessionWait != 1} {
+ if {$sessionWait == -1} {
displayError "Search fail" "Connection closed"
html "</body></html>\n"
$zz disconnect
- return 0
}
- set status [$zz.$setNo responseStatus]
- if {[lindex $status 0] == "NSD"} {
- set code [lindex $status 1]
- set msg [lindex $status 2]
- set addinfo [lindex $status 3]
- displayError "Diagnostic message" \
- "$msg: $addinfo\n<br>(error code $code)"
- return 0
+ if {$sessionWait != 1} {
+ return 0
}
set hist($setNo,hits) [$zz.$setNo resultCount]
return 1