From bb72ec7b3d1a2cac3c26fea0c812c17f5559b478 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 27 Mar 2002 15:14:51 +0000 Subject: [PATCH] == => string compare (!) --- asynch.tcl | 6 ++-- bot.tcl | 96 +++++++++++++++++++++++++++++++++++------------------------- bridge.tcl | 8 ++--- irccore.tcl | 10 +++++-- ncipher.tcl | 1 + usebnbot.tcl | 2 +- 6 files changed, 72 insertions(+), 51 deletions(-) diff --git a/asynch.tcl b/asynch.tcl index 406f8d7..a32dda4 100755 --- a/asynch.tcl +++ b/asynch.tcl @@ -16,7 +16,7 @@ # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # -# $Id: asynch.tcl,v 1.1 2000-08-14 21:09:51 ijackson Exp $ +# $Id: asynch.tcl,v 1.2 2002-03-27 15:14:51 ijackson Exp $ proc asynch_startcmd {} { global asynch_sofar @@ -47,10 +47,10 @@ proc morecmd {} { } } -if {[llength $argv] && "[lindex $argv 0]" == "-d"} { +if {[llength $argv] && ![string compare [lindex $argv 0] "-d"]} { set tcl_traceExec 1 set argv [lreplace $argv 0 0] -} elseif {[llength $argv] && "[lindex $argv 0]" == "-dd"} { +} elseif {[llength $argv] && ![string compare [lindex $argv 0] "-dd"]} { set tcl_traceExec 2 set argv [lreplace $argv 0 0] } diff --git a/bot.tcl b/bot.tcl index 13f2cdf..9b73cc9 100755 --- a/bot.tcl +++ b/bot.tcl @@ -298,7 +298,7 @@ proc tell_event_core1 {nl event} { } upvar #0 nick_username($nl) nu - if {[info exists nu] && "$nu" == "[nickdb_get_username $nl]"} { + if {[info exists nu] && ![string compare $nu [nickdb_get_username $nl]]} { append evstate i } else { append evstate u @@ -359,7 +359,7 @@ proc tell_event_core1 {nl event} { " [showintervalsecs [expr {$now-$sentwhen}] 1] <$sender> $msg" } } - if {"$rel" == "unreliable"} { + if {![string compare $rel "unreliable"]} { tell_delete_msgs {} $nl return toldunreliable } @@ -493,7 +493,7 @@ proc chanmode_o1 {m g p chan} { prefix_nick set who [chanmode_arg] recordlastseen_n $n "being nice to $who" 1 - if {"[irctolower $who]" == "[irctolower $nick]"} { + if {![ircnick_compare $who $nick]} { set nlower [irctolower $n] upvar #0 nick_unique($nlower) u if {[chandb_exists $chan]} { @@ -517,7 +517,7 @@ proc chanmode_o0 {m g p chan} { prefix_nick set who [chanmode_arg] recordlastseen_p $p "being mean to $who" 1 - if {"[irctolower $who]" == "[irctolower $nick]"} { + if {![ircnick_compare $who $nick]} { set chandeop($chan) [list [clock seconds] $p] } } @@ -589,7 +589,7 @@ proc process_kickpart {chan user} { set luser [irctolower $user] set lchan [irctolower $chan] if {![ischan $chan]} { error "not a channel" } - if {"$luser" == "[irctolower $nick]"} { + if {![ircnick_compare $luser $nick]} { leaving $lchan } else { upvar #0 nick_onchans($luser) oc @@ -902,7 +902,7 @@ def_somedb_id get {key} { set l $def } foreach {tkey value} $l { - if {"$tkey" == "$key"} { return $value } + if {![string compare $tkey $key]} { return $value } } error "unset setting $key" } @@ -1081,7 +1081,7 @@ def_chancmd mode { error {channel mode must be * or match ([-+][imnpst]+)+} } chandb_set $chan mode $mode - if {"$mode" == "*"} { + if {![string compare $mode "*"]} { ucmdr "I won't ever change the mode of $chan." {} } else { ucmdr "Whenever I'm alone on $chan, I'll set the mode to $mode." {} @@ -1175,7 +1175,7 @@ def_ucmd invite { } set ui [chandb_get $ltarget userinvite] if {[catch { - if {"$ui" == "pub" && !$onchan} { + if {![string compare $ui "pub"] && !$onchan} { usererror "Invitations to $target must be made there with !invite." } if {"$ui" != "all"} { @@ -1184,16 +1184,17 @@ def_ucmd invite { by a user on the channel." } } - if {"$ui" == "none"} { + if {[!string compare $ui "none"]} { usererror "Sorry, I've not been authorised\ to invite people to $target." } } emsg]} { - if {"$errorCode" == "BLIGHT USER" && [channel_ismanager $target $n]} { + if {![string compare $errorCode "BLIGHT USER"] && + [channel_ismanager $target $n]} { if {[catch { nick_securitycheck 1 } emsg2]} { - if {"$errorCode" == "BLIGHT USER"} { + if {![string compare $errorCode "BLIGHT USER"]} { usererror "$emsg2 Therefore you can't use your\ channel manager privilege. $emsg" } else { @@ -1278,7 +1279,8 @@ proc nickdb_get_username {n} { proc nickdb_get_sec_effective {n} { set l [nickdb_get $n tellsec] set u [nickdb_get_username $n] - if {"[lindex $l 0]" == "secure" && ![string length $u]} { set l insecure } + if {![string compare [lindex $l 0] "secure"] && + ![string length $u]} { set l insecure } return $l } @@ -1302,30 +1304,30 @@ proc msgsdb_set_maydelete {n key l otherkey} { } proc tell_delete_msgs {lsenders lrecip} { - set ninbound {} + set new_inbound {} set ndel 0 foreach {s t m} [msgsdb_get $lrecip inbound] { if {[llength $lsenders]} { if {[lsearch -exact $lsenders [irctolower $s]] == -1} { - lappend ninbound $s $t $m + lappend new_inbound $s $t $m continue } } set rsenders($s) 1 incr ndel } - msgsdb_set_maydelete $lrecip inbound $ninbound outbound - if {![llength $ninbound]} { + msgsdb_set_maydelete $lrecip inbound $new_inbound outbound + if {![llength $new_inbound]} { upvar #0 nick_telling($lrecip) telling catch { unset telling } } foreach s [array names rsenders] { - set noutbound {} + set new_outbound {} foreach {r t c} [msgsdb_get $s outbound] { - if {"[irctolower $r]" == "$lrecip"} continue - lappend noutbound $r $t $c + if {![ircnick_compare $r $lrecip]} continue + lappend new_outbound $r $t $c } - msgsdb_set_maydelete $s outbound $noutbound inbound + msgsdb_set_maydelete $s outbound $new_outbound inbound } return $ndel } @@ -1440,7 +1442,7 @@ def_ucmd tell { set noutbound {} set found 0 foreach {recip time count} $outbound { - if {"[irctolower $recip]" == "$ltarget"} { + if {![ircnick_compare $recip $ltarget]} { incr count set recip $ctarget set found 1 @@ -1661,12 +1663,16 @@ def_setting timeformat { } proc marktime_desc {mt} { - if {"$mt" == "off"} { - return "I will not send you periodic messages." - } elseif {"$mt" == "once"} { - return "I will send you one informational message when I see you." - } else { - return "I'll send you a message every [showintervalsecs $mt 0]." + switch -exact $mt { + off { + return "I will not send you periodic messages." + } + once { + return "I will send you one informational message when I see you." + } + default { + return "I'll send you a message every [showintervalsecs $mt 0]." + } } } @@ -1682,9 +1688,12 @@ def_setting marktime { set mt [string tolower [ta_word]] ta_nomore - if {"$mt" == "off" || "$mt" == "once"} { - } else { - set mt [parse_interval $mt $marktime_min] + switch -exact $mt { + off - once { + } + default { + set mt [parse_interval $mt $marktime_min] + } } nickdb_set $n marktime $mt lnick_marktime_start [irctolower $n] "So:" 500 0 @@ -1774,7 +1783,7 @@ def_setting tellme { set every [ta_interval_optional 300 3600] lappend v $every } - if {"$setting" == "remind"} { + if {![string compare $setting remind]} { set within [ta_interval_optional 5 30] if {$within > $every} { error "remind interval must be at least time to respond" @@ -1941,7 +1950,7 @@ def_ucmd seen { set nlower [irctolower $ncase] ta_nomore set now [clock seconds] - if {"$nlower" == "[irctolower $nick]"} { + if {![ircnick_compare $nlower $nick]} { usererror "I am not self-aware." } elseif {![info exists lastseen($nlower)]} { set rstr "I've never seen $ncase." @@ -1960,7 +1969,7 @@ def_ucmd seen { if {[info exists lf]} { set oldvalue $lf } else { set oldvalue {} } set lf [list [list $now $n $where]] foreach v $oldvalue { - if {"[irctolower [lindex $v 1]]" == "[irctolower $n]"} continue + if {![ircnick_compare [lindex $v 1] $n]} continue lappend lf $v } ucmdr {} $rstr @@ -1981,17 +1990,24 @@ proc lnick_marktime_doafter {luser why ms mentiontold} { proc lnick_marktime_reset {luser} { set mt [nickdb_get $luser marktime] - if {"$mt" == "off" || "$mt" == "once"} return - lnick_marktime_doafter $luser "Time passes." [expr {$mt*1000}] 0 + switch -exact $mt { + off - once { } + default { + lnick_marktime_doafter $luser "Time passes." [expr {$mt*1000}] 0 + } + } } proc lnick_marktime_start {luser why ms mentiontold} { set mt [nickdb_get $luser marktime] - if {"$mt" == "off"} { - lnick_marktime_cancel $luser - if {$mentiontold} { after $ms [list lnick_checktold $luser] } - } else { - lnick_marktime_doafter $luser $why $ms $mentiontold + switch -exact $mt { + off { + lnick_marktime_cancel $luser + if {$mentiontold} { after $ms [list lnick_checktold $luser] } + } + default { + lnick_marktime_doafter $luser $why $ms $mentiontold + } } } diff --git a/bridge.tcl b/bridge.tcl index 64d2d5e..8bac56c 100755 --- a/bridge.tcl +++ b/bridge.tcl @@ -14,7 +14,7 @@ proc privmsg_unlogged {p ischan params} { if {[catch { prefix_nick set text [lindex $params 1] - if {"$line_org_endchar" == "\001"} { + if {![string compare $line_org_endchar "\001"]} { if {[regexp {^\?ACTION (.*)\?$} $text dummy text]} { set towrite "* $n $text" } else { @@ -55,7 +55,7 @@ def_bnbot event {l} { set bnnicks($n) 1 sendprivmsg $channel "[bnnick_clean $n] has joined $bnchanfn." } elseif {[regexp {^1003 LEAVE ([^ ]+) \w+$} $l dummy n]} { - if {"$n" == "$bnnick"} return + if {![ircnick_compare $n $bnnick]} return catch { unset bnnicks($n) } sendprivmsg $channel "[bnnick_clean $n] has left $bnchanfn." } elseif {[regexp {^1004 WHISPER ([^ ]+) \w+ "(.*)"$} $l dummy n text]} { @@ -74,7 +74,7 @@ def_bnbot event {l} { foreach m $pub_msgs { bnbot_writemsg $botid "$n $m" } } } elseif {[regexp {^1001 USER ([^ ]+) \w+} $l dummy n]} { - if {"$n" == "$bnnick"} return + if {![ircnick_compare $n $bnnick]} return set bnnicks($n) 1 } } @@ -86,7 +86,7 @@ proc msg_353 {p c dest type chan nicklist} { catch { unset onchan_nicks } foreach n $nicklist { regsub {^[@+]} $n {} n - if {"$n" == "$nick"} continue + if {![ircnick_compare $n $nick]} continue set onchan_nicks($n) 1 } } diff --git a/irccore.tcl b/irccore.tcl index 069743e..c3ee544 100644 --- a/irccore.tcl +++ b/irccore.tcl @@ -180,7 +180,7 @@ proc onread {args} { set line $remain if {[regexp {^([^!]+)!} $prefix dummy maybenick]} { set calling_nick $maybenick - if {"[irctolower $maybenick]" == "[irctolower $nick]"} return + if {![ircnick_compare $maybenick $nick]} return } } else { set prefix {} @@ -201,7 +201,7 @@ proc onread {args} { log "junk at end: $org" return } - if {"$command" == "PRIVMSG" && \ + if {![string compare $command "PRIVMSG"] && \ [privmsg_unlogged $prefix [ischan [lindex $params 0]] $params]} { return } @@ -261,6 +261,10 @@ proc irctolower {v} { return [string tolower $v] } +proc ircnick_compare {a b} { + return [string compare [irctolower $a] [irctolower $b]] +} + proc prefix_none {} { upvar 1 p p if {[string length $p]} { error "prefix specified" } @@ -272,7 +276,7 @@ proc prefix_nick {} { upvar 1 n n if {![regexp {^([^!]+)!} $p dummy n]} { error "not from nick" } check_nick $n - if {"[irctolower $n]" == "[irctolower $nick]"} { + if {![ircnick_compare $n $nick]} { error "from myself" {} {} } } diff --git a/ncipher.tcl b/ncipher.tcl index cf94ca3..e3e1f26 100644 --- a/ncipher.tcl +++ b/ncipher.tcl @@ -9,3 +9,4 @@ set socketargs {} set ident fastness source bot.tcl +source botpass.tcl diff --git a/usebnbot.tcl b/usebnbot.tcl index b164f12..b110b28 100644 --- a/usebnbot.tcl +++ b/usebnbot.tcl @@ -47,7 +47,7 @@ def_bnbot onread {args} { sendprivmsg $channel "\[$n] $text" return } elseif {[regexp {^1023 EMOTE ([^ ]+) \w+ \"(.*)\"$} $l dummy n text]} { - if {"$n" == "$bnnick"} return + if {![ircnick_compare $n $bnnick]} return sendprivmsg $channel "* $n $text" return } -- 2.11.0