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
(cherry-pick from commit 56b37345d9)
This commit is contained in:
parent
dca1bb5e79
commit
20bbd4f449
1 changed files with 1 additions and 1 deletions
|
|
@ -60,7 +60,7 @@ TEST(file, WriteStringToFile2) {
|
|||
<< 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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue