diff options
Diffstat (limited to 'src/irc')
-rw-r--r-- | src/irc/core/query.h | 1 | ||||
-rw-r--r-- | src/irc/dcc/dcc-chat.c | 1 | ||||
-rw-r--r-- | src/irc/dcc/dcc.h | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/src/irc/core/query.h b/src/irc/core/query.h index c46a831e..bac2ccc5 100644 --- a/src/irc/core/query.h +++ b/src/irc/core/query.h @@ -14,6 +14,7 @@ typedef struct { char *address; char *server_tag; + int unwanted:1; /* TRUE if the other side closed or some error occured (DCC chats!) */ int destroying:1; } QUERY_REC; diff --git a/src/irc/dcc/dcc-chat.c b/src/irc/dcc/dcc-chat.c index 642cbb7e..44968ce0 100644 --- a/src/irc/dcc/dcc-chat.c +++ b/src/irc/dcc/dcc-chat.c @@ -166,6 +166,7 @@ static void dcc_chat_input(DCC_REC *dcc) ret = line_split(tmpbuf, recvlen, &str, (LINEBUF_REC **) &dcc->databuf); if (ret == -1) { /* connection lost */ + dcc->connection_lost = TRUE; signal_emit("dcc closed", 1, dcc); dcc_destroy(dcc); break; diff --git a/src/irc/dcc/dcc.h b/src/irc/dcc/dcc.h index eee5a069..f05f294b 100644 --- a/src/irc/dcc/dcc.h +++ b/src/irc/dcc/dcc.h @@ -53,6 +53,7 @@ typedef struct DCC_REC { int gotalldata:1; /* DCC fast send: got all acks from the other end (needed to make sure the end of transfer works right) */ int mirc_ctcp:1; /* DCC chat: Send CTCPs without the CTCP_MESSAGE prefix */ + int connection_lost:1; /* DCC chat: other side closed connection */ int destroyed:1; /* We're about to destroy this DCC recond */ /* read/write counter buffer */ |