Posted to tcl by kbk at Sat Feb 19 19:41:54 GMT 2011view pretty
proc irc_recv {chan} { if {[catch {read $chan} data]} { # ... the read got an error, $data has the error message } elseif {[string length $data > 0]} { # ... the read worked, $data has the data } elseif {[eof $chan]} { # ... end of file } elseif {[fblocked $chan]} { # ... The read is blocked. This can happen with gets, but # shouldn't happen with read. return } else { # WTF? This case shouldn't be possible. } }