Posted to tcl by kostix at Sun Mar 11 15:47:08 GMT 2007view pretty
proc histool::sort_jids3 {jids args} { set order {server node resource} foreach {opt val} $args { switch -- $opt { -order { set order $val } default { error "invalid option: $opt" } } } set norder {} foreach part {node server resource} { lappend norder [lsearch $order $part] } set items {} foreach jid $jids { set parts [list \ [node_from_jid $jid] \ [server_from_jid $jid] \ [resource_from_jid $jid] \ ] set ordered [list \ [lindex $parts [lindex $norder 0]] \ [lindex $parts [lindex $norder 1]] \ [lindex $parts [lindex $norder 2]] \ ] set pat [join $ordered \u0000]] lappend items [list $pat $jid] } set sorted {} foreach item [lsort -index 0 $items] { lappend sorted [lindex $item 1] } set sorted }