| 172 | } |
| 173 | |
| 174 | static void |
| 175 | cap_rights_vset(cap_rights_t *rights, va_list ap) |
| 176 | { |
| 177 | uint64_t right; |
| 178 | int i, n __unused; |
| 179 | |
| 180 | assert(CAPVER(rights) == CAP_RIGHTS_VERSION_00); |
| 181 | |
| 182 | n = CAPARSIZE(rights); |
| 183 | assert(n >= CAPARSIZE_MIN && n <= CAPARSIZE_MAX); |
| 184 | |
| 185 | for (;;) { |
| 186 | right = (uint64_t)va_arg(ap, unsigned long long); |
| 187 | if (right == 0) |
| 188 | break; |
| 189 | assert(CAPRVER(right) == 0); |
| 190 | i = right_to_index(right); |
| 191 | assert(i >= 0); |
| 192 | assert(i < n); |
| 193 | assert(CAPIDXBIT(rights->cr_rights[i]) == CAPIDXBIT(right)); |
| 194 | rights->cr_rights[i] |= right; |
| 195 | assert(CAPIDXBIT(rights->cr_rights[i]) == CAPIDXBIT(right)); |
| 196 | } |
| 197 | } |
| 198 | |
| 199 | static void |
| 200 | cap_rights_vclear(cap_rights_t *rights, va_list ap) |
no test coverage detected