cmArchiveWrite: replace mode_t with int

Rationale:

* mode_t is not defined on all platforms
* bitmasking (operator &) promotes the value to an int anyway
* libarchive uses int in the public api starting with version 4
This commit is contained in:
Daniel Pfeifer 2016-08-17 23:52:34 +02:00
parent 67a7dcef45
commit 373b2e483d
2 changed files with 5 additions and 5 deletions

View File

@ -268,7 +268,7 @@ bool cmArchiveWrite::AddFile(const char* file, size_t skip, const char* prefix)
}
if (this->PermissionsMask.IsSet()) {
mode_t perm = archive_entry_perm(e);
int perm = archive_entry_perm(e);
archive_entry_set_perm(e, perm & this->PermissionsMask.Get());
}

View File

@ -94,7 +94,7 @@ public:
void SetMTime(std::string const& t) { this->MTime = t; }
//! Sets the permissions of the added files/folders
void SetPermissions(mode_t permissions_)
void SetPermissions(int permissions_)
{
this->Permissions.Set(permissions_);
}
@ -107,7 +107,7 @@ public:
//! The permissions will be copied from the existing file
//! or folder. The mask will then be applied to unset
//! some of them
void SetPermissionsMask(mode_t permissionsMask_)
void SetPermissionsMask(int permissionsMask_)
{
this->PermissionsMask.Set(permissionsMask_);
}
@ -177,8 +177,8 @@ private:
//!@}
//! Permissions on files/folders
cmArchiveWriteOptional<mode_t> Permissions;
cmArchiveWriteOptional<mode_t> PermissionsMask;
cmArchiveWriteOptional<int> Permissions;
cmArchiveWriteOptional<int> PermissionsMask;
};
#endif