X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=OCamlDriver.cpp;h=f6764fad4b52b4401f2a23f8637b71902f89288c;hb=c10ce35cd399aff15a49f3b24a31b38cb2191da0;hp=c906f0f4667d1603175d84b007797a407f0ea432;hpb=95367aa932a9e179976e59ea326542c50905f5b3;p=SXSI%2Fxpathcomp.git diff --git a/OCamlDriver.cpp b/OCamlDriver.cpp index c906f0f..f6764fa 100644 --- 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)); } +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)))); @@ -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)); - free(tag); CAMLreturn (id); }