####################################################
# by wiebe @ QuakeNet
#
####################################################

setudef flag public

####################################################
# whichchan
####################################################
proc whichchan { h c } {
  if {[string equal $c ""]} { return $c }
  set r ""; set s ""; regsub -all {\[\]\\\*\?} $c {\\\0} i
  foreach d [channels] {
    if {![matchattr $h fvlomn|fvlomn $d]} { continue }
    if {![string match -nocase "$i*" $d]} { continue }
    if {[channel get $d public]} { lappend r $d } else { lappend s $d }
  }
  if {[llength $r] == 1} { return [lindex $r 0]
  } elseif {[llength $r] == 0 && [llength $s] == 1} { return [lindex $s 0]
  } else { return $c }
}


set scriptdb(whichchan) {
  "provides matching of channel names. channel name is returned when a unique match is made for +public channels, when none found, unique match for -public channels is returned"
}

