path: root/base
diff options
authorColin Cross <>2015-04-30 15:12:21 -0700
committerColin Cross <>2015-04-30 16:58:26 -0700
commit56b37345d99f2cd85720f6b1aa1934fa3bfe29a6 (patch)
tree74a2f528a41b65d73a201e2f3035f43d96c236ad /base
parent5b439eaf938aa27b7db04225694be7d2a25af477 (diff)
Fix comparison between signed and unsigned error on darwin
mode_t is a uint16_t on darwin, which causes sb.st_mode & ~S_IFMT to produce an int when the uint16_t is promoted for the operator. Cast to unsigned int before comparing against 0660U. Change-Id: Ib1439c08d9e2b297eeeba701891508d269c19a3d
Diffstat (limited to 'base')
1 files changed, 1 insertions, 1 deletions
diff --git a/base/file_test.cpp b/base/file_test.cpp
index cbb275130..b138094e3 100644
--- a/base/file_test.cpp
+++ b/base/file_test.cpp
@@ -66,7 +66,7 @@ TEST(file, WriteStringToFile2) {
<< strerror(errno);
struct stat sb;
ASSERT_EQ(0, stat(tf.filename, &sb));
- ASSERT_EQ(0660U, (sb.st_mode & ~S_IFMT));
+ ASSERT_EQ(0660U, static_cast<unsigned int>(sb.st_mode & ~S_IFMT));
ASSERT_EQ(getuid(), sb.st_uid);
ASSERT_EQ(getgid(), sb.st_gid);
std::string s;