diff --git a/cffi/cdefs.h b/cffi/cdefs.h index afabe26..333abb2 100644 --- a/cffi/cdefs.h +++ b/cffi/cdefs.h @@ -40,6 +40,7 @@ typedef enum { LY_ERR ly_ctx_new(const char *, uint16_t, struct ly_ctx **); void ly_ctx_destroy(struct ly_ctx *); int ly_ctx_set_searchdir(struct ly_ctx *, const char *); +const char *ly_yang_module_dir(void); typedef enum { diff --git a/libyang/context.py b/libyang/context.py index d0309d7..f446651 100644 --- a/libyang/context.py +++ b/libyang/context.py @@ -251,6 +251,11 @@ def __init__( search_paths.extend(search_path.strip(": \t\r\n'\"").split(":")) search_paths = [path for path in search_paths if os.path.isdir(path)] + + module_dir = c2str(lib.ly_yang_module_dir()) + if module_dir: + search_paths.insert(0, module_dir) + search_path = ":".join(search_paths) if search_paths else None if yanglib_path is None: