aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Pärtel <martin.partel@gmail.com>2021-02-15 05:31:32 +0200
committerMartin Pärtel <martin.partel@gmail.com>2021-02-15 05:31:32 +0200
commit21e8f410368d4b20cfa967a7cd3cf98da533e337 (patch)
tree2fe35673480336fdb57f4ecefa931ba6fb6a164e
parentbc3002cc464231ecdd0f1938184594f3f35ae767 (diff)
downloadbindfs-21e8f410368d4b20cfa967a7cd3cf98da533e337.tar.gz
Fixed permchain.c on older compilers. Enabled -Wpedantic.
-rw-r--r--configure.ac2
-rw-r--r--src/permchain.c22
-rw-r--r--src/userinfo.c2
3 files changed, 13 insertions, 13 deletions
diff --git a/configure.ac b/configure.ac
index 0ecee3e..e3e93e7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -35,7 +35,7 @@ AM_CONDITIONAL(BUILD_OS_IS_DARWIN, [test x"$build_os" = darwin])
# _DARWIN_BETTER_REALPATH fixes MacOS realpath() broken around Catalina (#83).
my_CPPFLAGS="-D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_XOPEN_SOURCE=700 -D__BSD_VISIBLE=1 -D_BSD_SOURCE -D_DEFAULT_SOURCE -D_DARWIN_BETTER_REALPATH"
-my_CFLAGS="-Wall -fno-common -std=c99"
+my_CFLAGS="-std=c99 -Wall -Wpedantic -fno-common"
my_LDFLAGS="-pthread"
AC_SUBST([my_CPPFLAGS])
AC_SUBST([my_CFLAGS])
diff --git a/src/permchain.c b/src/permchain.c
index 6b1e9e1..dd88714 100644
--- a/src/permchain.c
+++ b/src/permchain.c
@@ -34,9 +34,9 @@ struct permchain {
char flags; /* see 'PC_' constants above. */
mode_t mask; /* which permissions to apply to */
union {
- char operands[16]; /* a subset of rwxXDstugo */
- unsigned int octal;
- };
+ char as_operands[16]; /* a subset of rwxXDstugo */
+ unsigned int as_octal;
+ } mode;
struct permchain *next;
};
@@ -45,7 +45,7 @@ struct permchain *permchain_create()
struct permchain *pc = malloc(sizeof(struct permchain));
pc->mask = 0000;
pc->op = '\0';
- memset(pc->operands, '\0', sizeof(pc->operands));
+ memset(pc->mode.as_operands, '\0', sizeof(pc->mode.as_operands));
pc->next = NULL;
pc->flags = PC_FLAGS_DEFAULT;
return pc;
@@ -71,7 +71,7 @@ static int add_chmod_rule_to_permchain(const char *start, const char *end,
enum {LHS, RHS} state = LHS;
struct permchain *newpc = permchain_create();
- char *operands_ptr = newpc->operands;
+ char *operands_ptr = newpc->mode.as_operands;
newpc->flags = 0; /* Reset to PC_FLAGS_DEFAULT in the end if not modified */
@@ -122,7 +122,7 @@ static int add_chmod_rule_to_permchain(const char *start, const char *end,
case 'u':
case 'g':
case 'o':
- if (!strchr(newpc->operands, *p)) {
+ if (!strchr(newpc->mode.as_operands, *p)) {
*(operands_ptr++) = *p;
}
break;
@@ -159,7 +159,7 @@ static int add_octal_rule_to_permchain(const char *start, const char *end,
newpc->mask = 0777;
newpc->op = 'o';
- newpc->octal = mode;
+ newpc->mode.as_octal = mode;
permchain_cat(pc, newpc);
return 0;
@@ -231,9 +231,9 @@ mode_t permchain_apply(struct permchain *pc, mode_t tgtmode)
while (pc != NULL) {
#if BINDFS_DEBUG
if (pc->op == 'o')
- DPRINTF("STAT MODE: %o, op = %c %o", tgtmode, pc->op, pc->octal);
+ DPRINTF("STAT MODE: %o, op = %c %o", tgtmode, pc->op, pc->mode.as_octal);
else
- DPRINTF("STAT MODE: %o, op = %c%s", tgtmode, pc->op, pc->operands);
+ DPRINTF("STAT MODE: %o, op = %c%s", tgtmode, pc->op, pc->mode.as_operands);
#endif
if (pc->op == '\0') {
@@ -253,7 +253,7 @@ mode_t permchain_apply(struct permchain *pc, mode_t tgtmode)
mode = 0000;
- for (p = pc->operands; *p != '\0'; ++p) {
+ for (p = pc->mode.as_operands; *p != '\0'; ++p) {
switch (*p) {
case 'r':
mode |= 0444;
@@ -303,7 +303,7 @@ mode_t permchain_apply(struct permchain *pc, mode_t tgtmode)
tgtmode &= ~0777 | ~mode;
break;
case 'o':
- tgtmode = (tgtmode & ~0777) | pc->octal;
+ tgtmode = (tgtmode & ~0777) | pc->mode.as_octal;
break;
default:
assert(0);
diff --git a/src/userinfo.c b/src/userinfo.c
index 2a72bf3..a3ac91c 100644
--- a/src/userinfo.c
+++ b/src/userinfo.c
@@ -330,7 +330,7 @@ int user_belongs_to_group(uid_t uid, gid_t gid)
pthread_rwlock_wrlock(&cache_lock);
if (cache_rebuild_requested) {
- DPRINTF("Building user/group cache");
+ DPRINTF("%s", "Building user/group cache");
cache_rebuild_requested = 0;
rebuild_cache();
}