aboutsummaryrefslogtreecommitdiffstats
path: root/extension/inplace.c
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2015-04-05 11:20:41 +0300
committerArnold D. Robbins <arnold@skeeve.com>2015-04-05 11:20:41 +0300
commit4de12ef40f9ea9a0b715903cfe6da51b97eedb77 (patch)
tree84a0c8d117e9a2a629e186a1fe22ebe185e5d6a4 /extension/inplace.c
parent14da33f5ac17b4adfd15ddb12c07715741bd1b1f (diff)
parentdbf9d5a4fc4b6d6340912395f020019576ed37f6 (diff)
downloadegawk-4de12ef40f9ea9a0b715903cfe6da51b97eedb77.tar.gz
egawk-4de12ef40f9ea9a0b715903cfe6da51b97eedb77.tar.bz2
egawk-4de12ef40f9ea9a0b715903cfe6da51b97eedb77.zip
Merge branch 'master' into cmake
Diffstat (limited to 'extension/inplace.c')
-rw-r--r--extension/inplace.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/extension/inplace.c b/extension/inplace.c
index 8a7375c4..e3685e30 100644
--- a/extension/inplace.c
+++ b/extension/inplace.c
@@ -170,8 +170,12 @@ do_inplace_begin(int nargs, awk_value_t *result)
state.tname, strerror(errno));
/* N.B. chown/chmod should be more portable than fchown/fchmod */
- if (chown(state.tname, sbuf.st_uid, sbuf.st_gid) < 0)
- (void) chown(state.tname, -1, sbuf.st_gid);
+ if (chown(state.tname, sbuf.st_uid, sbuf.st_gid) < 0) {
+ /* jumping through hoops to silence gcc and clang. :-( */
+ int junk;
+ junk = chown(state.tname, -1, sbuf.st_gid);
+ ++junk;
+ }
if (chmod(state.tname, sbuf.st_mode) < 0)
fatal(ext_id, _("inplace_begin: chmod failed (%s)"),