diff options
| author | Christian Hopps <chopps@labn.net> | 2024-11-24 03:05:44 -0500 | 
|---|---|---|
| committer | Christian Hopps <chopps@labn.net> | 2024-12-15 21:51:13 -0500 | 
| commit | a1fb05159004aa061ed0c7fb727ea1872f695812 (patch) | |
| tree | 5d1927066f2a2695a710614c2b72a8d6ae62c74b /tools/gen_northbound_callbacks.c | |
| parent | 30467f8f2b3a671973aa4b0aa2bcc1e3a208cc56 (diff) | |
tools: add support for multiple YANG paths
Signed-off-by: Christian Hopps <chopps@labn.net>
Diffstat (limited to 'tools/gen_northbound_callbacks.c')
| -rw-r--r-- | tools/gen_northbound_callbacks.c | 15 | 
1 files changed, 10 insertions, 5 deletions
diff --git a/tools/gen_northbound_callbacks.c b/tools/gen_northbound_callbacks.c index 046dc9e99e..516743acab 100644 --- a/tools/gen_northbound_callbacks.c +++ b/tools/gen_northbound_callbacks.c @@ -11,6 +11,7 @@  #include <unistd.h> +#include "darr.h"  #include "yang.h"  #include "northbound.h" @@ -19,7 +20,7 @@ static bool static_cbs;  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);  } @@ -408,7 +409,8 @@ static int generate_nb_nodes(const struct lysc_node *snode, void *arg)  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; @@ -433,7 +435,7 @@ int main(int argc, char *argv[])  				exit(EXIT_FAILURE);  			} -			search_path = optarg; +			*darr_append(search_paths) = darr_strdup(optarg);  			break;  		case 's':  			static_cbs = true; @@ -450,8 +452,11 @@ int main(int argc, char *argv[])  	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();  | 
