summaryrefslogtreecommitdiff
path: root/src/irc
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc')
-rw-r--r--src/irc/core/query.h1
-rw-r--r--src/irc/dcc/dcc-chat.c1
-rw-r--r--src/irc/dcc/dcc.h1
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 */