projects
/
SXSI
/
xpathcomp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
7d5e0a2
)
Fix bug in the handling of element-subtree lazy result sets.
non-regression-tests
author
Kim Nguyễn
<kn@lri.fr>
Fri, 19 Oct 2012 13:07:45 +0000
(15:07 +0200)
committer
Kim Nguyễn
<kn@lri.fr>
Fri, 19 Oct 2012 13:07:45 +0000
(15:07 +0200)
src/nodeSet.ml
patch
|
blob
|
history
diff --git
a/src/nodeSet.ml
b/src/nodeSet.ml
index
b8979cc
..
c2265b2
100644
(file)
--- a/
src/nodeSet.ml
+++ b/
src/nodeSet.ml
@@
-122,13
+122,13
@@
module Mat : S with type t = Tree.node mat =
if Tree.tag tree t == tag then t
else Tree.tagged_descendant tree t tag
if Tree.tag tree t == tag then t
else Tree.tagged_descendant tree t tag
- let fst_element tree t =
+(*
+ let fst_element tree t =
let tag = Tree.tag tree t in
let tag = Tree.tag tree t in
- let t = if Ptset.Int.mem tag
- (Ptset.Int.remove Tag.document_node (Tree.element_tags tree))
- then t
- else Tree.first_element tree t
- in Tree.first_element tree t
+ if tag == Tag.document_node then
+ Tree.first_element tree t
+ else t
+*)
let element_fold f tree t acc =
let rec loop node acc =
let element_fold f tree t acc =
let rec loop node acc =
@@
-138,17
+138,11
@@
module Mat : S with type t = Tree.node mat =
let acc' = loop (Tree.first_element tree node) acc in
loop (Tree.next_element tree node) acc'
in
let acc' = loop (Tree.first_element tree node) acc in
loop (Tree.next_element tree node) acc'
in
-
loop (fst_element tree t)
acc
+
let t' = Tree.first_element tree t in loop t'
acc
let element_iter f tree t =
let element_iter f tree t =
- let rec loop node =
- if node != Tree.nil then begin
- f node;
- loop (Tree.first_element tree node);
- loop (Tree.next_element tree node)
- end
- in
- let t' = fst_element tree t in loop t'
+ let newf = fun e () -> f e in
+ element_fold newf tree t ()
let tag_fold f tree t tag acc =
let rec loop close node acc =
let tag_fold f tree t tag acc =
let rec loop close node acc =