| 338 | } |
| 339 | |
| 340 | cap_rights_t * |
| 341 | cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src) |
| 342 | { |
| 343 | unsigned int i, n; |
| 344 | |
| 345 | assert(CAPVER(dst) == CAP_RIGHTS_VERSION_00); |
| 346 | assert(CAPVER(src) == CAP_RIGHTS_VERSION_00); |
| 347 | assert(CAPVER(dst) == CAPVER(src)); |
| 348 | assert(cap_rights_is_valid(src)); |
| 349 | assert(cap_rights_is_valid(dst)); |
| 350 | |
| 351 | n = CAPARSIZE(dst); |
| 352 | assert(n >= CAPARSIZE_MIN && n <= CAPARSIZE_MAX); |
| 353 | |
| 354 | for (i = 0; i < n; i++) |
| 355 | dst->cr_rights[i] |= src->cr_rights[i]; |
| 356 | |
| 357 | assert(cap_rights_is_valid(src)); |
| 358 | assert(cap_rights_is_valid(dst)); |
| 359 | |
| 360 | return (dst); |
| 361 | } |
| 362 | |
| 363 | cap_rights_t * |
| 364 | cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src) |
nothing calls this directly
no test coverage detected