diff options
author | Domen Vrankar <domen.vrankar@gmail.com> | 2017-11-02 20:42:18 (GMT) |
---|---|---|
committer | Domen Vrankar <domen.vrankar@gmail.com> | 2017-11-08 19:27:11 (GMT) |
commit | 670ad047b34d983daf1f17f8b32c4abe2b7f22b1 (patch) | |
tree | d0e7d93d5bdc479ca3b3051898f2219844bbdb1e /Source/cmFSPermissions.cxx | |
parent | deeba85f81bb031384c1c014d7adcb733da491b4 (diff) | |
download | CMake-670ad047b34d983daf1f17f8b32c4abe2b7f22b1.zip CMake-670ad047b34d983daf1f17f8b32c4abe2b7f22b1.tar.gz CMake-670ad047b34d983daf1f17f8b32c4abe2b7f22b1.tar.bz2 |
Move file/dir permissions code to common file.
Diffstat (limited to 'Source/cmFSPermissions.cxx')
-rw-r--r-- | Source/cmFSPermissions.cxx | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Source/cmFSPermissions.cxx b/Source/cmFSPermissions.cxx new file mode 100644 index 0000000..4015a51 --- /dev/null +++ b/Source/cmFSPermissions.cxx @@ -0,0 +1,34 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#include "cmFSPermissions.h" + +bool cmFSPermissions::stringToModeT(std::string const& arg, + mode_t& permissions) +{ + if (arg == "OWNER_READ") { + permissions |= mode_owner_read; + } else if (arg == "OWNER_WRITE") { + permissions |= mode_owner_write; + } else if (arg == "OWNER_EXECUTE") { + permissions |= mode_owner_execute; + } else if (arg == "GROUP_READ") { + permissions |= mode_group_read; + } else if (arg == "GROUP_WRITE") { + permissions |= mode_group_write; + } else if (arg == "GROUP_EXECUTE") { + permissions |= mode_group_execute; + } else if (arg == "WORLD_READ") { + permissions |= mode_world_read; + } else if (arg == "WORLD_WRITE") { + permissions |= mode_world_write; + } else if (arg == "WORLD_EXECUTE") { + permissions |= mode_world_execute; + } else if (arg == "SETUID") { + permissions |= mode_setuid; + } else if (arg == "SETGID") { + permissions |= mode_setgid; + } else { + return false; + } + return true; +} |