chiark / gitweb /
Do not trash errorcode &c with unset calling_nick
[ircbot] / bot.tcl
diff --git a/bot.tcl b/bot.tcl
index ff5e8b74c6c2c91310738b3528f632b077da43ed..09c4ca2caf446eaaeb8bda422ee99fce636ff0c8 100755 (executable)
--- a/bot.tcl
+++ b/bot.tcl
@@ -80,12 +80,18 @@ proc bgerror {msg} {
 }
 
 proc onread {args} {
-    global sock nick calling_nick
+    global sock nick calling_nick errorInfo errorCode
     
     if {[gets $sock line] == -1} { set terminate 1; return }
     regsub -all "\[^ -\176\240-\376\]" $line ? line
     set org $line
+    
+    set ei $errorInfo
+    set ec $errorCode
     catch { unset calling_nick }
+    set errorInfo $ei
+    set errorCode $ec
+    
     if {[regexp -nocase {^:([^ ]+) (.*)} $line dummy prefix remain]} {
        set line $remain
        if {[regexp {^([^!]+)!} $prefix dummy maybenick]} {