summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2010-10-13 20:44:12 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2010-10-13 22:41:21 -0700
commitc586bff1c0d36fc7b57c35fe7e5e8fbd00f83342 (patch)
tree387d1dfbf40b72199aaadf2ee16b604611ad2149
parent4015f93d3052b6b11ed5dbcdc032be324a084f07 (diff)
downloadcoreutils-c586bff1c0d36fc7b57c35fe7e5e8fbd00f83342.tar.xz
install: avoid warning with Solaris 10 cc
* src/install.c (extra_mode): Don't assign ~S_IRWXUGO & ~S_IFMT to a mode_t variable, as the number might be too big to fit. Solaris 10 cc warns about this, and the C standard says it has undefined behavior.
-rw-r--r--src/install.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/install.c b/src/install.c
index 97029140c..467e50046 100644
--- a/src/install.c
+++ b/src/install.c
@@ -186,8 +186,8 @@ have_same_content (int a_fd, int b_fd)
static bool
extra_mode (mode_t input)
{
- const mode_t mask = ~S_IRWXUGO & ~S_IFMT;
- return !! (input & mask);
+ mode_t mask = S_IRWXUGO | S_IFMT;
+ return !! (input & ~ mask);
}
/* Return true if copy of file SRC_NAME to file DEST_NAME is necessary. */