summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStaron, Martin <martin.staron@mavenir.com>2018-02-12 12:04:46 +0100
committerStaron, Martin <martin.staron@mavenir.com>2018-02-13 08:15:39 +0100
commit3cbcb4fe85ec3233aa36b56a047470df5d4221f3 (patch)
tree7bb306f909a310101e0df20c5b015e0dd12f12c0
parentccfb2dabcf5eed702ce28245ba8e7de81c1ec6bb (diff)
downloadirssi-3cbcb4fe85ec3233aa36b56a047470df5d4221f3.zip
dcc get shouldn't fail when file attrs can't be changed
-rw-r--r--src/irc/dcc/dcc-get.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/irc/dcc/dcc-get.c b/src/irc/dcc/dcc-get.c
index cecbb076..ee8b9a49 100644
--- a/src/irc/dcc/dcc-get.c
+++ b/src/irc/dcc/dcc-get.c
@@ -237,8 +237,12 @@ void sig_dccget_connected(GET_DCC_REC *dcc)
if (temphandle == -1)
ret = -1;
- else
- ret = fchmod(temphandle, dcc_file_create_mode);
+ else {
+ if (fchmod(temphandle, dcc_file_create_mode) != 0)
+ g_warning("fchmod(3) failed: %s", strerror(errno));
+ /* proceed even if chmod fails */
+ ret = 0;
+ }
close(temphandle);
@@ -249,7 +253,7 @@ void sig_dccget_connected(GET_DCC_REC *dcc)
/* Linux */
(errno == EPERM ||
/* FUSE */
- errno == ENOSYS ||
+ errno == ENOSYS || errno == EACCES ||
/* BSD */
errno == EOPNOTSUPP)) {
/* hard links aren't supported - some people