@@ -6374,7 +6374,7 @@ eval_node_test(struct lyxp_expr *exp, uint16_t *exp_idx, struct lyd_node *cur_no
63746374 exp -> tok_len [* exp_idx ], options );
63756375 }
63766376 } else {
6377- if (set && (options & LYXP_SNODE_ALL )) {
6377+ if (set && (set -> type == LYXP_SET_SNODE_SET )) {
63786378 rc = moveto_snode (set , (struct lys_node * )cur_node , & exp -> expr [exp -> expr_pos [* exp_idx ]],
63796379 exp -> tok_len [* exp_idx ], options );
63806380 } else {
@@ -6390,11 +6390,20 @@ eval_node_test(struct lyxp_expr *exp, uint16_t *exp_idx, struct lyd_node *cur_no
63906390 }
63916391 }
63926392 if (i == -1 ) {
6393- path = lys_path ((struct lys_node * )cur_node );
6394- LOGWRN ("Schema node \"%.*s\" not found (%.*s) with context node \"%s\"." ,
6395- exp -> tok_len [* exp_idx ], & exp -> expr [exp -> expr_pos [* exp_idx ]],
6396- exp -> expr_pos [* exp_idx ] + exp -> tok_len [* exp_idx ], exp -> expr , path );
6397- free (path );
6393+ if (options & LYXP_SNODE_ALL ) {
6394+ path = lys_path ((struct lys_node * )cur_node );
6395+ LOGWRN ("Schema node \"%.*s\" not found (%.*s) with context node \"%s\"." ,
6396+ exp -> tok_len [* exp_idx ], & exp -> expr [exp -> expr_pos [* exp_idx ]],
6397+ exp -> expr_pos [* exp_idx ] + exp -> tok_len [* exp_idx ], exp -> expr , path );
6398+ free (path );
6399+ } else {
6400+ path = lyd_path (cur_node );
6401+ LOGVAL (LYE_XPATH_INSNODE , LY_VLOG_NONE , NULL ,
6402+ exp -> tok_len [* exp_idx ], & exp -> expr [exp -> expr_pos [* exp_idx ]],
6403+ exp -> expr_pos [* exp_idx ] + exp -> tok_len [* exp_idx ], exp -> expr , path );
6404+ free (path );
6405+ return -1 ;
6406+ }
63986407 }
63996408 }
64006409 }
0 commit comments