YANG parser BUGFIX add missing hack for deviated nodes from augments
augmenting nodes removed by deviation must remember their augment parent
for later reconnect.
diff --git a/src/parser_yang.c b/src/parser_yang.c
index 120c3a6..e7d4cfc 100644
--- a/src/parser_yang.c
+++ b/src/parser_yang.c
@@ -4377,7 +4377,14 @@
}
}
/* unlink and store the original node */
+ parent = dev_target->parent;
lys_node_unlink(dev_target);
+ if (parent && parent->nodetype == LYS_AUGMENT) {
+ /* hack for augment, because when the original will be sometime reconnected back, we actually need
+ * to reconnect it to both - the augment and its target (which is deduced from the deviations target
+ * path), so we need to remember the augment as an addition */
+ dev_target->parent = parent;
+ }
dev->orig_node = dev_target;
} else {
/* store a shallow copy of the original node */