Plus (+) characters automatically converted to space in forms.
authorAdam Dickmeiss <adam@indexdata.dk>
Fri, 10 Nov 1995 14:47:31 +0000 (14:47 +0000)
committerAdam Dickmeiss <adam@indexdata.dk>
Fri, 10 Nov 1995 14:47:31 +0000 (14:47 +0000)
Work on search in multiple targets. Doesn't work well - yet.
Presentation formats enhanced.

www/mquery.egw
www/msearch.egw
www/mtargets.egw
www/query.egw
www/search.egw
www/showfull.egw
www/wproto.c
www/z39util.tcl
www/ztargets.conf

index 755b77a..de4b307 100644 (file)
@@ -4,7 +4,7 @@
 </head>
 <body>
 {
-# $Id: mquery.egw,v 1.3 1995/11/08 18:07:22 adam Exp $
+# $Id: mquery.egw,v 1.4 1995/11/10 14:47:31 adam Exp $
 
     if {[info commands saveState] == ""} {
         source z39util.tcl
     global nextSetNo
     global hist
 
-    html {<form action="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/msearch.egw/} $setNo {" method=post>} \n
-
     if {[catch {set setNo $nextSetNo}]} {
         set nextSetNo 1
         set setNo 1
     }
-    if {1} {
-    set i 1
-    foreach host [array names targets] {
-        set databases [wform target$host]
-        if {$databases == ""} continue
-        html "host=$host, $databases <br>\n"
-        set hist($setNo,$i,host) $host
-        set hist($setNo,$i,database) $databases
-        incr i
-    }
-    } else {
-    set hosts [wform target]
-    html "hosts=$hosts <br>\n"
-    set i 1
-    foreach host $hosts {
-        set hist($setNo,$i,host) $host
-        set hist($setNo,$i,database) [lindex [lindex $targets($host) 1] 0]
-        incr i
+
+    html {<form action="http:} $env(SCRIPT_NAME)
+    html / $sessionId {/msearch.egw/} $setNo {" method=post>} \n
+
+    set phost {}
+    set i 0
+    foreach t [lsort [wform target]] {
+        set host [lindex $t 0]
+        set base [lindex $t 1]
+        if {$host != $phost} {
+            set phost $host
+            incr i
+            set hist($setNo,$i,host) $host
+            set hist($setNo,$i,idAuthentication) [lindex $targets($host) 3]
+        }
+        lappend hist($setNo,$i,database) $base
     }
-    set host [lindex $hosts 0]
+    if {$i == 0} {
+        html "<h2>No targets specified</h2></body></html>"
+        wabort 1
     }
-    set hist($setNo,0,host) [expr $i - 1]
+    set hist($setNo,0,host) $i
 }
 <hr>
 <h3>Input your search criteria: </h3> <br>
@@ -97,6 +94,11 @@ and will continue to be so until the end of December 1995.</em>
     foreach e {SERVER_NAME PATH_INFO SCRIPT_NAME} {
         html $e {: } $env($e) {<br>} \n
     }
+    set j $hist($setNo,0,host)
+    for {set i 1} {$i <= $j} {incr i} {
+        html "host=" $hist($setNo,$i,host) " " $hist($setNo,$i,database) 
+        html "<br>\n"
+    }
     html "form: " [wform] " <br>\n"
     html "target: " $host " <br>\n"
     html "setNo: " $setNo " <br>\n"
index c1c825a..ee40776 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 {
-# $Id: msearch.egw,v 1.3 1995/11/08 18:07:22 adam Exp $
+# $Id: msearch.egw,v 1.4 1995/11/10 14:47:31 adam Exp $
 
     if {[info commands saveState] == ""} {
         source z39util.tcl
 
     html "<head><title> WWW/Z39.50 Gateway Search </title>\n"
     html "</head><body>\n"
-    if {[wform menu1] == ""} {
-        set setNo [lindex $sessionParms 0]
-    } else {
-        if {![info exists hist($nextSetNo,0,host)]} {
-            set hist($nextSetNo,0,host) $hist($setNo,0,host)
-            for {set i 1} {$i <= $hist($setNo,0,host)} {incr i} {
-                set hist($nextSetNo,$i,host) $hist($setNo,$i,host)
-                set hist($nextSetNo,$i,database) $hist($setNo,$i,database)
-            }
+    set setNo [lindex $sessionParms 0]
+
+    if {[wform menu1] != ""} {
+        set hist($nextSetNo,0,host) $hist($setNo,0,host)
+        for {set i 1} {$i <= $hist($setNo,0,host)} {incr i} {
+            set hist($nextSetNo,$i,host) $hist($setNo,$i,host)
+            set hist($nextSetNo,$i,database) $hist($setNo,$i,database)
+            set hist($nextSetNo,$i,idAuthentication) \
+                hist($setNo,$i,idAuthentication) 
         }
         set setNo $nextSetNo
         incr nextSetNo
@@ -52,7 +52,7 @@
             set r [z39$i.$setNo resultCount]
             html "$r hits\n<dd>\n"
 
-            display-rec 1 $hist($setNo,$i,offset) display-brief z39$i
+            display-rec 1 $hist($setNo,$i,offset) display-brief $i
         }
         html "\n"
     }
index 033028d..ba52c89 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 {
-# $Id: mtargets.egw,v 1.5 1995/11/10 10:20:23 adam Exp $
+# $Id: mtargets.egw,v 1.6 1995/11/10 14:47:31 adam Exp $
     set setNo 1
     source /usr/local/etc/httpd/conf/ztargets.conf
     if {[info commands saveState] == ""} {
     html "<dl>\n"
     foreach t [array names targets] {
         html {<dt>} [ lindex $targets($t) 0]
-#        html {<input type="checkbox" name="target" value="} $t
-#        html {"> }
         html {<dd>}
         set databases [lindex $targets($t) 1]
+
+        set desc [lindex $targets($t) 4]
+        if {$desc != ""} {
+            html "<em>$desc</em><br>\n"
+        }
         foreach d $databases {
-            html {<input type="checkbox" name="target} {" } 
-            html { value="} $d {"> } $d " <br>\n"
+            html {<input type="checkbox" name="target"}
+            html { value="} $t + $d {"> } $d 
         }
-        html "\n"
+        html "<br>\n"
     }
     html "</dl>\n"
 }
index 19d74c8..e180d1e 100644 (file)
@@ -4,7 +4,7 @@
 </head>
 <body>
 {
-# $Id: query.egw,v 1.13 1995/11/09 17:31:04 adam Exp $
+# $Id: query.egw,v 1.14 1995/11/10 14:47:31 adam Exp $
 
     if {[info commands saveState] == ""} {
         source z39util.tcl
@@ -69,7 +69,7 @@ proc ok-response {} {
             }
         }
         set sessionWait 0
-        z39 idAuthentication $hist($setNo,idAuthentication)
+#       z39 idAuthentication $hist($setNo,idAuthentication)
         if {[catch {z39 init}]} {
             htmlr "Cannot initialize with target ${host} <br>"
             htmlr "</body></html>"
index 3091a5a..d1046ba 100644 (file)
@@ -1,6 +1,6 @@
 <html>
 {
-# $Id: search.egw,v 1.13 1995/11/10 10:20:24 adam Exp $
+# $Id: search.egw,v 1.14 1995/11/10 14:47:32 adam Exp $
 
 proc buttons {setNo setMax startPos} {
     global sessionId
@@ -69,21 +69,21 @@ proc buttons {setNo setMax startPos} {
     set setMax 0
     set setOffset 0
     if {$startPos == ""} {
-        if {[z39search $setNo 1] != "1"} {
+        if {[z39search $setNo 1 0] != "1"} {
             return
         }
         set r [z39.$setNo resultCount]
         html "<h2> Search result $r hits</h2>\n"
         wflush
         set setOffset [z39.$setNo numberOfRecordsReturned]
-        display-rec 1 $setOffset display-brief z39
+        display-rec 1 $setOffset display-brief 0
         incr setOffset
         set setMax [z39.$setNo resultCount]
         if {$setMax > $hist($setNo,maxPresent)} {
             set setMax $hist($setNo,maxPresent)
         }
     } else {
-        if {[z39search $setNo 0] != "1"} {
+        if {[z39search $setNo 0 0] != "1"} {
             return 
         }
         set r [z39.$setNo resultCount]
@@ -99,7 +99,7 @@ proc buttons {setNo setMax startPos} {
         }
     }
     if {$setMax > 0} {
-        z39present $setNo $setOffset $setMax display-brief
+        z39present $setNo 0 $setOffset $setMax display-brief 
     }
 
     buttons $setNo $setMax $startPos
index 0ec8051..ea8998b 100644 (file)
@@ -1,41 +1,59 @@
 <html>
 {
-# $Id: showfull.egw,v 1.8 1995/11/10 10:20:25 adam Exp $
+# $Id: showfull.egw,v 1.9 1995/11/10 14:47:32 adam Exp $
 
-proc buttons {setNo no format} {
+proc buttons {setNo tno no format count host} {
     global sessionId
     global env
     global hist
 
     html "<p>\n"
-    if {$no < [z39.$setNo resultCount]} {
+    if {$no < $count} {
         html {<a href="http:} $env(SCRIPT_NAME)
-        html / $sessionId {/showfull.egw/} $setNo + [expr $no + 1] + $format
+        html / $sessionId {/showfull.egw/} $setNo + $tno + 
+        html [expr $no + 1] + $format
         html {">Next record</a>} " | \n"
     }
     if {$no > 1} {
         html {<a href="http:} $env(SCRIPT_NAME)
-        html / $sessionId {/showfull.egw/} $setNo + [expr $no - 1] + $format
+        html / $sessionId {/showfull.egw/} $setNo + $tno +
+        html [expr $no - 1] + $format
         html {">Previous record</a>} " | \n"
     }
 
     html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/showfull.egw/} $setNo + $no +
+    html / $sessionId {/showfull.egw/} $setNo + $tno + $no +
     if {$format == "full"} {
        html raw {">Raw format</a>} " | \n"
     } else {
        html full {">Full format</a>} " | \n"
     }
 
-    html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/search.egw/} $setNo + 1
+    html {<a href="http:} $env(SCRIPT_NAME) / $sessionId 
+    if {$tno > 0} {
+        html {/msearch.egw/} 
+    } else {
+        html {/search.egw/}
+    }
+    html $setNo + 1
     html + $hist($setNo,maxPresent)
     html {">Result</a>} " | \n"
        
-    html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/targets.egw">New target</a>} " | \n"
-    html {<a href="http:} $env(SCRIPT_NAME)
-    html / $sessionId {/query.egw/} $hist($setNo,host) + $setNo 
+    html {<a href="http:} $env(SCRIPT_NAME) / $sessionId 
+    if {$tno > 0} {
+        html {/mtargets.egw} 
+    } else {
+        html {/targets.egw} 
+    }
+    html {">New target</a>} " | \n"
+
+    html {<a href="http:} $env(SCRIPT_NAME) / $sessionId 
+    if {$tno > 0} {
+        html {/mquery.egw/} 
+    } else {
+        html {/query.egw/} 
+    }
+    html $host + $setNo 
     html {">New query</a>} "<p>\n"
 
 }
@@ -51,21 +69,30 @@ proc buttons {setNo no format} {
     global hist
 
     set sno [lindex $sessionParms 0]
-    set no [lindex $sessionParms 1]
-    set format [lindex $sessionParms 2]
+    set tno [lindex $sessionParms 1]
+    set no [lindex $sessionParms 2]
+    set format [lindex $sessionParms 3]
 
     set setNo $sno
+
+    if {$tno > 0} {
+        set zz z39$tno
+        set host $hist($setNo,$tno,host)
+    } else {
+        set zz z39
+        set host $hist($setNo,$0,host)
+    }
     
-    if {[z39search $setNo 0] != "1"} {
+    if {[z39search $setNo 0 $tno] != "1"} {
         return
     }
-    set total [z39.$setNo resultCount]
-    html "<h2>Record \#$no out of $total </h2><br>\n"
+    set count [$zz.$setNo resultCount]
+    html "<h2>Record \#$no out of $count </h2><br>\n"
 
-    buttons $setNo $no $format
+    buttons $setNo $tno $no $format $count $host
 
-    eval {z39present $setNo $no $no display-$format}
-    buttons $setNo $no $format
+    eval {z39present $setNo $tno $no $no display-$format}
+    buttons $setNo $tno $no $format $count $host
 }
 </body>
 </html>
index bc46653..6deb504 100644 (file)
  * USE OR PERFORMANCE OF THIS SOFTWARE.
  *
  * $Log: wproto.c,v $
- * Revision 1.6  1995/11/06 10:51:17  adam
+ * Revision 1.7  1995/11/10 14:47:32  adam
+ * Plus (+) characters automatically converted to space in forms.
+ * Work on search in multiple targets. Doesn't work well - yet.
+ * Presentation formats enhanced.
+ *
+ * Revision 1.6  1995/11/06  10:51:17  adam
  * End of response marker in response from wsh/wproto to wcgi.
  * Shells are respawned when necessary.
  *
@@ -211,10 +216,21 @@ static void descramble(char *t, const char *o)
        {
            sscanf(o + 1, "%2x", &v);
            o += 3;
-           *(t++) = (char) v;
+            if (v == '+')
+                *t = ' ';
+            else
+                *t = (char) v;
+            t++;
        }
        else
-           *(t++) = *(o++);
+        {
+            if (*o == '+')
+                *t = ' ';
+            else
+                *t = *o;
+            t++;
+            o++;
+        }
     }
     *t = '\0';
 }
index 82380f1..4322d2c 100644 (file)
@@ -1,5 +1,5 @@
 #
-# $Id: z39util.tcl,v 1.6 1995/11/09 15:24:37 adam Exp $
+# $Id: z39util.tcl,v 1.7 1995/11/10 14:47:32 adam Exp $
 #
 proc saveState {} {
     uplevel #0 {
@@ -52,7 +52,7 @@ proc fail-response {} {
     set sessionWait -1
 }
 
-proc display-brief {zset no} {
+proc display-brief {zset no tno} {
     global env
     global setNo
     global sessionId
@@ -70,7 +70,7 @@ proc display-brief {zset no} {
     if {$type != "DB"} {
         return
     }
-    html "${no} "
+    html "${no}"
     set rtype [$zset recordType $no]
     if {$rtype == "SUTRS"} {
         html [join [$zset getSutrs $no]]
@@ -82,13 +82,13 @@ proc display-brief {zset no} {
         set year [lindex [$zset getMarc $no field 260 * c] 0]
     } ] } {
         html {<a href="http:} $env(SCRIPT_NAME) /
-        html $sessionId {/showfull.egw/} $setNo + $no + full 
+        html $sessionId {/showfull.egw/} $setNo + $tno + $no + full 
         html {"> } $title {</a>} " <i> ${year} </i>"
     }
     html "<br>\n"
 }
 
-proc display-raw {zset no} {
+proc display-raw {zset no tno} {
     set type [$zset type $no]
     if {$type == "SD"} {
         set err [lindex [$zset diag $no] 1]
@@ -224,7 +224,7 @@ proc dl-marc-field-rec {zset no tag lead start stop startid sep} {
     }
 }
 
-proc display-full {zset no} {
+proc display-full {zset no tno} {
     set type [$zset type $no]
     if {$type == "SD"} {
         set err [lindex [$zset diag $no] 1]
@@ -269,14 +269,45 @@ proc display-full {zset no} {
     dl-marc-field $zset $no 260 * "Publisher" {} " "
     dl-marc-field $zset $no 300 * "Physical Description" {} " "
 
-    dl-marc-field $zset $no 500 a "Notes" {} ", "
+    dl-marc-field-rec $zset $no 500 "Notes" "" "<br>\n" "a" ", "
 
     dl-marc-field-rec $zset $no 510 "References" "" "<br>\n" "a" ", "
 
+    dl-marc-field-rec $zset $no 511 "Participant note" "" "<br>\n" "a" ", "
+
+    dl-marc-field $zset $no 513 a "Report type" {} ", "
+    dl-marc-field $zset $no 513 b "Period covered" {} ", "
+    dl-marc-field-rec $zset $no 515 "Numbering notes" "" "<br>\n" "a" ", "
+    dl-marc-field-rec $zset $no 516 "Data notes" "" "<br>\n" "a" ", "
+    dl-marc-field-rec $zset $no 518 "Date/time notes" "" "<br>\n" "a" ", "
+
     dl-marc-field $zset $no 350 a "Price" {} ", "
     dl-marc-field $zset $no 362 a "Dates of publication" {} ", "
     dl-marc-field $zset $no 850 a "Holdings" {} ", "
 
+    dl-marc-field-rec $zset $no 270 "Contact name" "" "<br>\n" p ", "
+    if {0} {
+        set n [dl-marc-field $zset $no 270 p "Contact name" {} ", "]
+        if {$n > 0} {
+            html "\n<dl>\n"
+            
+            if {0} {
+                dl-marc-field $zset $no 270 a "Street" {} ", "
+                dl-marc-field $zset $no 270 b "City" {} ", "
+                dl-marc-field $zset $no 270 c "State" {} ", "
+                dl-marc-field $zset $no 270 e "Zip code" {} ", "
+                dl-marc-field $zset $no 270 d "Country" {} ", "
+                dl-marc-field $zset $no 270 m "Network address" {} ", "
+                dl-marc-field $zset $no 301 a "Service hours" {} ", "
+                dl-marc-field $zset $no 270 k "Phone" {} ", "
+                dl-marc-field $zset $no 270 l "Fax" {} ", "
+            } else {
+                dl-marc-field $zset $no 270 {[abcedmakl]} "Address" {} "<br>\n"
+            }
+            
+            html "\n</dl>\n"
+        }
+    }
     dl-marc-field $zset $no 010 a "LC control number" {} ", "
     dl-marc-field $zset $no 010 b "NUCMC control number" {} ", "
     dl-marc-field $zset $no 020 a "ISBN" {} ", "
@@ -290,19 +321,29 @@ proc display-full {zset no} {
         }
         html {<dd><a href="} $url {">} [join $sp] "</a>\n"
     }
-    dl-marc-field $zset $no 037 * "Acquisition" {} "<br>\n"
+    dl-marc-field $zset $no 037 {[abc]} "Acquisition" {} "<br>\n"
+    dl-marc-field $zset $no 037 {[f6]} "Form of issue" {} "<br>\n"
+    dl-marc-field $zset $no 537 * "Source of data" {} "<br>\n"
+    dl-marc-field $zset $no 538 * "System details" {} "<br>\n"
     dl-marc-field $zset $no 787 {[rstw6]} "Related information" {} "<br>\n"
     dl-marc-field $zset $no 001 * "Local control number" {} ", "
     html "</dl>\n"
 }
 
 
-proc display-rec {from to dfunc zz} {
+proc display-rec {from to dfunc tno} {
     global setNo
 
-    while {$from <= $to} { 
-        eval "$dfunc $zz.$setNo $from"
-        incr from
+    if {$tno > 0} {
+        while {$from <= $to} { 
+            eval "$dfunc z39${tno}.${setNo} $from $tno"
+            incr from
+        }
+    } else {
+        while {$from <= $to} { 
+            eval "$dfunc z39.${setNo} $from 0"
+            incr from
+        }
     }
 }
 
@@ -312,8 +353,7 @@ proc build-query {t} {
     set op {}
     set q {}
     for {set i 1} {$i < 4} {incr i} {
-        set term1 [wform entry$i]
-        regsub {\+} $term1 " " term
+        set term [wform entry$i]
         if {$term != ""} {
             set field [wform menu$i]
             foreach x [lindex $targets($t) 2] {
@@ -337,25 +377,37 @@ proc build-query {t} {
     return $q
 }
 
-proc z39search {setNo piggy} {
+proc z39search {setNo piggy tno} {
     global hist
     global sessionWait
 
-    set host $hist($setNo,host)
-    if {[catch {z39 failback fail-response}]} {
-        ir z39
+    if {$tno > 0} {
+        set zz z39$tno
+        set host $hist($setNo,$tno,host)
+        set idAuth $hist($setNo,$tno,idAuthentication)
+        set database $hist($setNo,$tno,database)
+        set query $hist($setNo,$tno,query)
+    } else {
+        set zz z39
+        set host $hist($setNo,host)
+        set idAuth $hist($setNo,idAuthentication)
+        set database $hist($setNo,database)
+        set query $hist($setNo,query)
     }
-    if {[catch {set oldHost [z39 connect]}]} {
+    if {[catch [list $zz failback fail-response]]} {
+        ir $zz
+    }
+    if {[catch [list set oldHost [$zz connect]]]} {
         set oldHost ""
     }
-    z39 callback ok-response
-    z39 failback fail-response
+    $zz callback ok-response
+    $zz failback fail-response
     if {$oldHost != $host} {
-        catch {z39 disconnect}
+        catch [list $zz disconnect]
 
         html "Connecting to target " $host " <br>\n"
         set sessionWait 0
-        if {[catch {z39 connect $host}]} {
+        if {[catch [list $zz connect $host]]} {
             html "Cannot connect to target ${host} <br>\n"
             return 0
         } elseif {$sessionWait == 0} {
@@ -365,56 +417,62 @@ proc z39search {setNo piggy} {
                 return 0
             }
         }
-        z39 idAuthentication $hist($setNo,idAuthentication)
+        $zz idAuthentication $idAuth
         set sessionWait 0
-        if {[catch {z39 init}]} {
+        if {[catch [list $zz init]]} {
             html "Cannot initialize with target ${host} <br>\n"
             return 0
         }
         if {[catch {zwait sessionWait 60}]} {
             html "Cannot initialize with target ${host} <br>\n"
-           z39 disconnect
+           $zz disconnect
             return 0
         }
         if {$sessionWait != "1"} {
             html "Cannot initialize with target ${host} <br>\n"
-           z39 disconnect
+           $zz disconnect
+            return 0
+        }
+        if {![$zz initResult]} {
+            set u [$zz userInformationField]
+            $zz disconnect
+            html "Connection rejected by target: $u <br>\n"
             return 0
         }
     }
-    if {![catch {z39.$setNo smallSetUpperBound 0}]} {
+    if {![catch [list $zz.$setNo smallSetUpperBound 0]]} {
         return 1
     }
-    ir-set z39.$setNo z39
-    eval z39.$setNo databaseNames $hist($setNo,database)
+    ir-set $zz.$setNo $zz
+    eval $zz.$setNo databaseNames $database
 
-    z39.$setNo preferredRecordSyntax USMARC
+    $zz.$setNo preferredRecordSyntax USMARC
 
-    z39 callback search-response $setNo
+    $zz callback search-response $setNo
     if {$piggy} {
-        z39.$setNo largeSetLowerBound 999999
-        z39.$setNo smallSetUpperBound 0
-        z39.$setNo mediumSetPresentNumber $hist($setNo,maxPresent)
+        $zz.$setNo largeSetLowerBound 999999
+        $zz.$setNo smallSetUpperBound 0
+        $zz.$setNo mediumSetPresentNumber $hist($setNo,maxPresent)
     } else {
-        z39.$setNo largeSetLowerBound 2
-        z39.$setNo smallSetUpperBound 0
-        z39.$setNo mediumSetPresentNumber 0
+        $zz.$setNo largeSetLowerBound 2
+        $zz.$setNo smallSetUpperBound 0
+        $zz.$setNo mediumSetPresentNumber 0
     }
     set sessionWait 0
-    z39.$setNo search $hist($setNo,query)
+    $zz.$setNo search $query
 
     if {[catch {zwait sessionWait 600}]} {
         html "</body></html>\n"
-        z39 disconnect
+        $zz disconnect
         return 0
     }
         
     if {$sessionWait != 1} {
         html "</body></html>\n"
-        z39 disconnect
+        $zz disconnect
         return 0
     }
-    set status [z39.$setNo responseStatus]
+    set status [$zz.$setNo responseStatus]
     if {[lindex $status 0] == "NSD"} {
         set code [lindex $status 1]
         set msg [lindex $status 2]
@@ -422,7 +480,7 @@ proc z39search {setNo piggy} {
         html "<h2>Error NSD$code: $msg: $addinfo </h2><br>\n"
         return 0
     }
-    set hist($setNo,hits) [z39.$setNo resultCount]
+    set hist($setNo,hits) [$zz.$setNo resultCount]
     return 1
 }
 
@@ -549,33 +607,39 @@ proc z39msearch {setNo piggy} {
     }
 }
 
-proc z39present {setNo setOffset setMax dfunc} {
+proc z39present {setNo tno setOffset setMax dfunc} {
     global hist
     global sessionWait
 
+    if {$tno > 0} {
+        set zz z39$tno
+    } else {
+        set zz z39
+    }
+
     set toGet [expr 1 + $setMax - $setOffset]
     while {$setMax > 0 && $toGet > 0} {
         for {set got 0} {$got < $toGet} {incr got} {
-            if {[z39.$setNo type [expr $setOffset + $got]] == ""} {
+            if {[$zz.$setNo type [expr $setOffset + $got]] == ""} {
                 break
             }
         }
         if {$got < $toGet} {
             set sessionWait 0
-            z39.$setNo present $setOffset $toGet
+            $zz.$setNo present $setOffset $toGet
             if {[catch {zwait sessionWait 300}]} {
-               z39 disconnect
+               $zz disconnect
                 break
            }
             if {$sessionWait != "1"} {
                 break
             }
-            set got [z39.$setNo numberOfRecordsReturned]
+            set got [$zz.$setNo numberOfRecordsReturned]
             if {$got <= 0} {
                 break
             }
         }
-        display-rec $setOffset [expr $got + $setOffset - 1] $dfunc z39
+        display-rec $setOffset [expr $got + $setOffset - 1] $dfunc $tno
         set setOffset [expr $got + $setOffset]
         set toGet [expr 1 + $setMax - $setOffset]
         wflush
index b8ed1d6..b05f989 100644 (file)
@@ -1,4 +1,4 @@
-# $Id: ztargets.conf,v 1.8 1995/11/08 18:07:23 adam Exp $
+# $Id: ztargets.conf,v 1.9 1995/11/10 14:47:33 adam Exp $
 set commonFields {
  { Title {@attr 1=4} }
  { Author {@attr 1=1003} }
@@ -68,7 +68,7 @@ set targets(localhost:9999) [list \
 
 set targets(dtbsun.dtv.dk:9999) [list \
     Zserver \
-    {usgs esdd cd_rom unknown} \
+    {usgs esdd cd_rom iah unknown} \
     $commonFields \
     {} \
     {New Index Data Z39.50 Server in alpha-test} \