bin/zoneconf: Fix merge-lists.
authorMark Wooding <mdw@distorted.org.uk>
Sat, 3 Dec 2011 19:22:00 +0000 (19:22 +0000)
committerMark Wooding <mdw@distorted.org.uk>
Sat, 3 Dec 2011 19:22:00 +0000 (19:22 +0000)
  * Don't remove a candidate which is first in multiple lists.

  * Actually use the pruned list.

bin/zoneconf

index e988a83..c8ac895 100755 (executable)
@@ -60,13 +60,14 @@ proc merge-lists {lists} {
     set cand {}
     foreach list $lists { pushnew cand [lindex $list 0] }
 
-    ## Remove candidate items which have not the first in some other list.
+    ## Remove candidate items which are not first in some other list.
     set ncand {}
     foreach cand $cand {
       foreach list $lists {
-       if {[lsearch -exact $list $cand] < 0} { lappend ncand $cand }
+       if {[lsearch -exact $list $cand] <= 0} { lappend ncand $cand }
       }
     }
+    set cand $ncand
 
     ## If there's nothing left, report an error.
     if {![llength $cand]} {