tree data BUGFIX comparing opaq and inner nodes
diff --git a/src/tree_data.c b/src/tree_data.c
index 182ffb2..21a0aba 100644
--- a/src/tree_data.c
+++ b/src/tree_data.c
@@ -1321,8 +1321,12 @@
if (!(options & LYD_COMPARE_OPAQ) && ((node1->schema && !node2->schema) || (!node1->schema && node2->schema))) {
return LY_ENOT;
}
- if ((r = lyd_compare_single_value(node1, node2))) {
- return r;
+ if ((!node1->schema && !node2->schema) || (node1->schema && (node1->schema->nodetype & LYD_NODE_TERM)) ||
+ (node2->schema && (node2->schema->nodetype & LYD_NODE_TERM))) {
+ /* compare values only if there are any to compare */
+ if ((r = lyd_compare_single_value(node1, node2))) {
+ return r;
+ }
}
if (options & LYD_COMPARE_FULL_RECURSION) {