diff --git a/CHANGELOG.md b/CHANGELOG.md index d0a7ab1e..1a7f8219 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -141,6 +141,7 @@ * Added libgen.h for baseline() ### Corrected Bugs +* Fixed an ordering problem showing up in validate/commit callbacks. If two new items following each order (yang-wise), only the first showed up in the new-list. Thanks achernavin! * Fixed a problem caused by recent sorting patches that made "ordered-by user" lists fail in some cases, causing multiple list entries with same keys. NACM being one example. Thanks vratnikov! * [Restconf does not handle startup datastore according to the RFC](https://github.com/clicon/clixon/issues/74) * Failure in startup with -m startup or running left running_db cleared. diff --git a/lib/src/clixon_xml_map.c b/lib/src/clixon_xml_map.c index ac43a616..59519da0 100644 --- a/lib/src/clixon_xml_map.c +++ b/lib/src/clixon_xml_map.c @@ -1126,11 +1126,13 @@ xml_diff1(yang_stmt *ys, if (cxvec_append(x0c, x0vec, x0veclen) < 0) goto done; x0c = xml_child_each(x0, x0c, CX_ELMNT); + continue; } else if (eq > 0){ if (cxvec_append(x1c, x1vec, x1veclen) < 0) goto done; x1c = xml_child_each(x1, x1c, CX_ELMNT); + continue; } else{ /* equal */ if ((yc = xml_spec(x0c)) == NULL){