From dfe2273849bcf693ea1c56be4e89456a21a9a526 Mon Sep 17 00:00:00 2001 From: Renato Westphal Date: Fri, 12 Apr 2019 21:38:57 -0300 Subject: [PATCH] lib: use flag from new libyang version to simplify the code When using the LYD_PATH_OPT_NOPARENTRET flag, lyd_new_path() returns the path-referenced node instead of the first created node. This flag wasn't available in libyang 0.16-r1 so we couldn't use it before. Use it now to simplify the code where possible. Signed-off-by: Renato Westphal --- lib/northbound.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lib/northbound.c b/lib/northbound.c index 8a5cd0ef14..4478abf5a7 100644 --- a/lib/northbound.c +++ b/lib/northbound.c @@ -1383,19 +1383,12 @@ int nb_oper_data_iterate(const char *xpath, struct yang_translator *translator, */ ly_errno = 0; dnode = lyd_new_path(NULL, ly_native_ctx, xpath, NULL, 0, - LYD_PATH_OPT_UPDATE); - if (!dnode && ly_errno) { + LYD_PATH_OPT_UPDATE | LYD_PATH_OPT_NOPARENTRET); + if (!dnode) { flog_warn(EC_LIB_LIBYANG, "%s: lyd_new_path() failed", __func__); return NB_ERR; } - /* - * We can remove the following two lines once we depend on - * libyang-v0.16-r2, which has the LYD_PATH_OPT_NOPARENTRET flag for - * lyd_new_path(). - */ - dnode = yang_dnode_get(dnode, xpath); - assert(dnode); /* * Create a linked list to sort the data nodes starting from the root. -- 2.39.5