summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--degesch.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/degesch.c b/degesch.c
index 442659b..69e15bd 100644
--- a/degesch.c
+++ b/degesch.c
@@ -3966,18 +3966,15 @@ static enum transport_io_result
irc_try_read (struct server *s)
{
enum transport_io_result result = s->transport->try_read (s);
- if (result == TRANSPORT_IO_OK)
+ if (s->read_buffer.len >= (1 << 20))
{
- if (s->read_buffer.len >= (1 << 20))
- {
- // XXX: this is stupid; if anything, count it in dependence of time
- log_server_error (s, s->buffer,
- "The IRC server seems to spew out data frantically");
- return TRANSPORT_IO_ERROR;
- }
- if (s->read_buffer.len)
- irc_process_buffer (&s->read_buffer, irc_process_message, s);
+ // XXX: this is stupid; if anything, count it in dependence of time
+ log_server_error (s, s->buffer,
+ "The IRC server seems to spew out data frantically");
+ return TRANSPORT_IO_ERROR;
}
+ if (s->read_buffer.len)
+ irc_process_buffer (&s->read_buffer, irc_process_message, s);
return result;
}