aboutsummaryrefslogtreecommitdiff
path: root/libbb
diff options
context:
space:
mode:
Diffstat (limited to 'libbb')
-rw-r--r--libbb/parse_mode.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/libbb/parse_mode.c b/libbb/parse_mode.c
index dc65860f6..1d238e1e0 100644
--- a/libbb/parse_mode.c
+++ b/libbb/parse_mode.c
@@ -16,13 +16,14 @@
16 16
17int FAST_FUNC bb_parse_mode(const char *s, unsigned current_mode) 17int FAST_FUNC bb_parse_mode(const char *s, unsigned current_mode)
18{ 18{
19 static const mode_t who_mask[] = { 19/* should be mode_t really, but in all Unixes these constants fit into uint16 */
20 static const uint16_t who_mask[] ALIGN2 = {
20 S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO, /* a */ 21 S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO, /* a */
21 S_ISUID | S_IRWXU, /* u */ 22 S_ISUID | S_IRWXU, /* u */
22 S_ISGID | S_IRWXG, /* g */ 23 S_ISGID | S_IRWXG, /* g */
23 S_IRWXO /* o */ 24 S_IRWXO /* o */
24 }; 25 };
25 static const mode_t perm_mask[] = { 26 static const uint16_t perm_mask[] ALIGN2 = {
26 S_IRUSR | S_IRGRP | S_IROTH, /* r */ 27 S_IRUSR | S_IRGRP | S_IROTH, /* r */
27 S_IWUSR | S_IWGRP | S_IWOTH, /* w */ 28 S_IWUSR | S_IWGRP | S_IWOTH, /* w */
28 S_IXUSR | S_IXGRP | S_IXOTH, /* x */ 29 S_IXUSR | S_IXGRP | S_IXOTH, /* x */