From d6321a22f8c957523e7acbf6c57f5730b55ac378 Mon Sep 17 00:00:00 2001 From: dimitri staessens Date: Sun, 29 Jan 2017 16:29:51 +0100 Subject: lib: Add function to get children of node in RIB Returns the names of the nodes (not the full paths). The function allocates memory to the children pointer that should be freed. --- src/lib/tests/rib_test.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'src/lib/tests') diff --git a/src/lib/tests/rib_test.c b/src/lib/tests/rib_test.c index 37503941..bad01083 100644 --- a/src/lib/tests/rib_test.c +++ b/src/lib/tests/rib_test.c @@ -46,6 +46,9 @@ int rib_test(int argc, char tmp[RIB_MAX_PATH_LEN]; + char ** kids; + ssize_t ch; + struct timespec t = {0, 100 * BILLION}; (void) argc; @@ -73,6 +76,16 @@ int rib_test(int argc, return -1; } + ch = rib_children("/static_info", &kids); + if (ch != 0) { + printf("Wrong number of children returned.\n"); + rib_fini(); + while (ch > 0) + free(kids[--ch]); + free(kids); + return -1; + } + if (!rib_has("/static_info")) { printf("Failed to find added element.\n"); rib_fini(); @@ -118,6 +131,17 @@ int rib_test(int argc, return -1; } + ch = rib_children("/static_info", &kids); + if (ch != 2) { + printf("Wrong number of children returned.\n"); + rib_fini(); + return -1; + } + + while (ch > 0) + free(kids[--ch]); + free(kids); + if (addr_chk != addr_size) { printf("Failed to verify added element contents.\n"); rib_fini(); -- cgit v1.2.3