diff options
Diffstat (limited to 'src/irc/dcc/dcc-get.c')
-rw-r--r-- | src/irc/dcc/dcc-get.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/irc/dcc/dcc-get.c b/src/irc/dcc/dcc-get.c index 52c93483..d13f8376 100644 --- a/src/irc/dcc/dcc-get.c +++ b/src/irc/dcc/dcc-get.c @@ -154,7 +154,13 @@ static void sig_dccget_receive(GET_DCC_REC *dcc) return; } - write(dcc->fhandle, buffer, ret); + if (write(dcc->fhandle, buffer, ret) != ret) { + /* most probably out of disk space */ + signal_emit("dcc error write", 2, + dcc, g_strerror(errno)); + dcc_close(DCC(dcc)); + return; + } dcc->transfd += ret; } |