diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/shared/cap-list.c | 4 | ||||
-rw-r--r-- | src/shared/cap-list.h | 1 | ||||
-rw-r--r-- | src/test/test-cap-list.c | 7 |
3 files changed, 9 insertions, 3 deletions
diff --git a/src/shared/cap-list.c b/src/shared/cap-list.c index 56d1488f48..8033e8c7b2 100644 --- a/src/shared/cap-list.c +++ b/src/shared/cap-list.c @@ -60,3 +60,7 @@ int capability_from_name(const char *name) { return sc->id; } + +int capability_list_length(void) { + return (int) ELEMENTSOF(capability_names); +} diff --git a/src/shared/cap-list.h b/src/shared/cap-list.h index c699e466a7..9824fad70f 100644 --- a/src/shared/cap-list.h +++ b/src/shared/cap-list.h @@ -23,3 +23,4 @@ const char *capability_to_name(int id); int capability_from_name(const char *name); +int capability_list_length(void); diff --git a/src/test/test-cap-list.c b/src/test/test-cap-list.c index 7c5ae18b25..4e75136498 100644 --- a/src/test/test-cap-list.c +++ b/src/test/test-cap-list.c @@ -19,6 +19,7 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ +#include "util.h" #include "log.h" #include "cap-list.h" #include "capability.h" @@ -27,9 +28,9 @@ int main(int argc, char *argv[]) { int i; assert_se(!capability_to_name(-1)); - assert_se(!capability_to_name(cap_last_cap()+1)); + assert_se(!capability_to_name(capability_list_length())); - for (i = 0; i <= (int) cap_last_cap(); i++) { + for (i = 0; i < capability_list_length(); i++) { const char *n; assert_se(n = capability_to_name(i)); @@ -45,7 +46,7 @@ int main(int argc, char *argv[]) { assert_se(capability_from_name("15") == 15); assert_se(capability_from_name("-1") == -EINVAL); - for (i = 0; i <= (int) cap_last_cap(); i++) { + for (i = 0; i < capability_list_length(); i++) { _cleanup_cap_free_charp_ char *a = NULL; const char *b; unsigned u; |