From 52fad8f6563080c64b5609f8b357ed47b1dfb78c Mon Sep 17 00:00:00 2001 From: "G. Paul Ziemba" Date: Fri, 3 Sep 2021 09:49:05 -0700 Subject: lib/module.c and callers of frrmod_load(): fix error messages frrmod_load() attempts to dlopen() several possible paths (constructed from its basename argument) until one succeeds. Each dlopen() attempt may fail for a different reason, and the important one might not be the last one. Example: dlopen(a/foo): file not found dlopen(b/foo): symbol "bar" missing dlopen(c/foo): file not found Previous code reported only the most recent error. Now frrmod_load() describes each dlopen() failure. Signed-off-by: G. Paul Ziemba --- lib/module.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/module.h') diff --git a/lib/module.h b/lib/module.h index 6275877cb3..ae1ca2f757 100644 --- a/lib/module.h +++ b/lib/module.h @@ -91,7 +91,9 @@ extern struct frrmod_runtime *frrmod_list; extern void frrmod_init(struct frrmod_runtime *modinfo); extern struct frrmod_runtime *frrmod_load(const char *spec, const char *dir, - char *err, size_t err_len); + void (*pFerrlog)(const void *, + const char *), + const void *pErrlogCookie); #if 0 /* not implemented yet */ extern void frrmod_unload(struct frrmod_runtime *module); -- cgit v1.2.3