CAMLparam1(data);
CAMLlocal1(doc);
XMLDocShredder * shredder;
- unsigned int ln = string_length(data);
+ unsigned int ln = caml_string_length(data);
unsigned char *fn = (unsigned char*) String_val(data);
try {
shredder = new XMLDocShredder (fn,ln,Int_val(sf),Bool_val(iet),Bool_val(dtc));
}
static value sort_alloc_array(std::vector<DocID> results, value resarray){
- std::sort(results.begin(), results.end(), docId_comp);
+ std::sort(results.begin(), results.end(), docId_comp);
size_t s = results.size();
resarray = caml_alloc_tuple(s);
for (size_t i = 0; i < s ;i++){
caml_initialize(&Field(resarray,i),Val_int(results[i]));
};
- return resarray;
+ return resarray;
+
}
/**
NoAlloc extern "C" value caml_xml_tree_print(value tree,value node,value fd){
CAMLparam3(tree,node,fd);
- XMLTREE(tree)->Print(Int_val(fd),TREENODEVAL(node));
+ XMLTREE(tree)->Print(Int_val(fd),TREENODEVAL(node), false);
CAMLreturn(Val_unit);
}
if (node == NULLT)
return 0;
else {
- return 1+ iterfcns(tree,tree->NextSibling(node)) + iterfcns(tree,tree->FirstChild(node));
+ int tmp = iterfcns(tree,tree->FirstElement(node));
+ tmp += iterfcns(tree,tree->NextElement(node));
+ return tmp+1;
};
}