#include <unistd.h>
+#include "darr.h"
#include "yang.h"
#include "northbound.h"
static void __attribute__((noreturn)) usage(int status)
{
extern const char *__progname;
- fprintf(stderr, "usage: %s [-h] [-s] [-p path] MODULE\n", __progname);
+ fprintf(stderr, "usage: %s [-h] [-s] [-p path]* MODULE\n", __progname);
exit(status);
}
int main(int argc, char *argv[])
{
- const char *search_path = NULL;
+ char **search_paths = NULL;
+ char **iter = NULL;
struct yang_module *module;
char module_name_underscores[64];
struct stat st;
exit(EXIT_FAILURE);
}
- search_path = optarg;
+ *darr_append(search_paths) = darr_strdup(optarg);
break;
case 's':
static_cbs = true;
yang_init(false, true, false);
- if (search_path)
- ly_ctx_set_searchdir(ly_native_ctx, search_path);
+ darr_foreach_p (search_paths, iter) {
+ ly_ctx_set_searchdir(ly_native_ctx, *iter);
+ darr_free(*iter);
+ }
+ darr_free(search_paths);
/* Load all FRR native models to ensure all augmentations are loaded. */
yang_module_load_all();