== => string compare (!)
[ircbot] / irccore.tcl
index 069743e..c3ee544 100644 (file)
@@ -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" {} {}
     }
 }