--- v2v/xml-c.c | 12 ++++++++++++ v2v/xml.ml | 3 +++ v2v/xml.mli | 3 +++ 3 files changed, 18 insertions(+)
diff --git a/v2v/xml-c.c b/v2v/xml-c.c index 97b8a20..a6d9231 100644 --- a/v2v/xml-c.c +++ b/v2v/xml-c.c @@ -353,6 +353,18 @@ v2v_xml_node_ptr_set_prop (value nodev, value namev, value valv) } value +v2v_xml_node_ptr_unset_prop (value nodev, value namev) +{ + CAMLparam2 (nodev, namev); + xmlNodePtr node = (xmlNodePtr) nodev; + int r; + + r = xmlUnsetProp (node, BAD_CAST String_val (namev)); + + CAMLreturn (r == 0 ? Val_true : Val_false); +} + +value v2v_xml_node_ptr_unlink_node (value nodev) { CAMLparam1 (nodev); diff --git a/v2v/xml.ml b/v2v/xml.ml index dbb2b41..27c8566 100644 --- a/v2v/xml.ml +++ b/v2v/xml.ml @@ -95,6 +95,9 @@ let new_text_child (doc_ptr, node_ptr) name content = external node_ptr_set_prop : node_ptr -> string -> string -> unit = "v2v_xml_node_ptr_set_prop" let set_prop (doc_ptr, node_ptr) = node_ptr_set_prop node_ptr +external node_ptr_unset_prop : node_ptr -> string -> bool = "v2v_xml_node_ptr_unset_prop" +let unset_prop (doc_ptr, node_ptr) = node_ptr_unset_prop node_ptr + external node_ptr_unlink_node : node_ptr -> unit = "v2v_xml_node_ptr_unlink_node" let unlink_node (doc_ptr, node_ptr) = node_ptr_unlink_node node_ptr diff --git a/v2v/xml.mli b/v2v/xml.mli index b039d09..9664c73 100644 --- a/v2v/xml.mli +++ b/v2v/xml.mli @@ -73,6 +73,9 @@ val new_text_child : node -> string -> string -> node val set_prop : node -> string -> string -> unit (** xmlSetProp *) +val unset_prop : node -> string -> bool +(** xmlUnsetProp (returns [true] if the property was removed) *) + val unlink_node : node -> unit (** xmlUnlinkNode {b NB:} This frees the [node], do not use it afterwards. *) -- 2.5.0 _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs