projects
/
SXSI
/
xpathcomp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix stupid bug with Tag indices
[SXSI/xpathcomp.git]
/
OCamlDriver.cpp
diff --git
a/OCamlDriver.cpp
b/OCamlDriver.cpp
index
c906f0f
..
f6764fa
100644
(file)
--- a/
OCamlDriver.cpp
+++ b/
OCamlDriver.cpp
@@
-216,6
+216,15
@@
extern "C" CAMLprim value caml_xml_tree_tag(value tree, value id){
CAMLreturn (caml_copy_string(tag));
}
CAMLreturn (caml_copy_string(tag));
}
+extern "C" CAMLprim value caml_xml_tree_tag_name(value tree, value tagid){
+ CAMLparam2(tree,tagid);
+ const char* tag;
+ tag = (const char*) XMLTREE(tree)->GetTagName((TagType) (Int_val(tagid)));
+
+ CAMLreturn (caml_copy_string(tag));
+}
+
+
extern "C" CAMLprim value caml_xml_tree_tag_id(value tree,value id){
CAMLparam2(tree,id);
CAMLreturn (Val_int(XMLTREE(tree)->Tag(TREENODEVAL(id))));
extern "C" CAMLprim value caml_xml_tree_tag_id(value tree,value id){
CAMLparam2(tree,id);
CAMLreturn (Val_int(XMLTREE(tree)->Tag(TREENODEVAL(id))));
@@
-227,7
+236,6
@@
extern "C" CAMLprim value caml_xml_tree_register_tag(value tree,value str){
unsigned char* tag;
tag = (unsigned char*) (String_val(str));
id = Val_int(XMLTREE(tree)->RegisterTag(tag));
unsigned char* tag;
tag = (unsigned char*) (String_val(str));
id = Val_int(XMLTREE(tree)->RegisterTag(tag));
- free(tag);
CAMLreturn (id);
}
CAMLreturn (id);
}