summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorailin-nemui <ailin-nemui@users.noreply.github.com>2018-02-13 11:10:21 +0100
committerGitHub <noreply@github.com>2018-02-13 11:10:21 +0100
commitc01f6df9573f3a5596bdb4c319faa109567f4221 (patch)
tree43c17fdc8433ad2de72b2f5860bdb2b0fc349fd7
parentb0d9cb33cd9ef9da7c331409e8b7c57a6f3aef3f (diff)
parent3cbcb4fe85ec3233aa36b56a047470df5d4221f3 (diff)
downloadirssi-c01f6df9573f3a5596bdb4c319faa109567f4221.zip
Merge pull request #844 from CatboxParadox/perms
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