From: Christian Hopps Date: Fri, 14 Mar 2025 05:19:10 +0000 (+0000) Subject: lib: suppress libyang logs during expected error result. X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=4663c3ef82228d12307ad53a99b836540cf4632b;p=mirror%2Ffrr.git lib: suppress libyang logs during expected error result. Signed-off-by: Christian Hopps --- diff --git a/lib/northbound_oper.c b/lib/northbound_oper.c index 0aa002fcdf..626c37082e 100644 --- a/lib/northbound_oper.c +++ b/lib/northbound_oper.c @@ -394,10 +394,17 @@ static enum nb_error nb_op_xpath_to_trunk(const char *xpath_in, char **xpath_out struct lyd_node **trunk) { char *xpath = NULL; + uint32_t llopts = 0; enum nb_error ret = NB_OK; LY_ERR err; + /* + * Try to instantiate ever shortened paths until one succeeds, suppress + * libyang logs for the expected errors along the way. + */ darr_in_strdup(xpath, xpath_in); + + ly_temp_log_options(&llopts); for (;;) { err = lyd_new_path2(NULL, ly_native_ctx, xpath, NULL, 0, 0, LYD_NEW_PATH_UPDATE, NULL, trunk); @@ -409,6 +416,8 @@ static enum nb_error nb_op_xpath_to_trunk(const char *xpath_in, char **xpath_out break; darr_strlen_fixup(xpath); } + ly_temp_log_options(NULL); + if (ret == NB_OK) *xpath_out = xpath; else