xpath BUGFIX start node in_ctx change for "."
diff --git a/src/xpath.c b/src/xpath.c
index 10d0cdf..bd80770 100644
--- a/src/xpath.c
+++ b/src/xpath.c
@@ -6230,11 +6230,6 @@
return LY_EVALID;
}
- /* nothing to do */
- if (!all_desc) {
- return LY_SUCCESS;
- }
-
/* getnext opts */
getnext_opts = 0;
if (options & LYXP_SCNODE_OUTPUT) {
@@ -6243,6 +6238,14 @@
/* add all the children, recursively as they are being added into the same set */
for (uint32_t i = 0; i < set->used; ++i) {
+ if (!all_desc) {
+ /* traverse the start node */
+ if (set->val.scnodes[i].in_ctx == LYXP_SET_SCNODE_START) {
+ set->val.scnodes[i].in_ctx = LYXP_SET_SCNODE_ATOM_CTX;
+ }
+ continue;
+ }
+
if (set->val.scnodes[i].in_ctx != LYXP_SET_SCNODE_ATOM_CTX) {
if (set->val.scnodes[i].in_ctx != LYXP_SET_SCNODE_START) {
continue;