Mercurial > pub > dyncall > bindings
view R/rdyncall/demo/expat.R @ 66:7a61dd082341 default tip
pydc:
- fix double free triggered by capsule destructor, when freeing pydc and callback objects, manually
author | Tassilo Philipp |
---|---|
date | Fri, 24 May 2024 18:16:29 +0200 |
parents | 0cfcc391201f |
children |
line wrap: on
line source
# Package: rdyncall # File: demo/expat.R # Description: Parsing XML using expat and callbacks dynport(expat) parser <- XML_ParserCreate(NULL) onXMLStartTag <- function(user,tag,attr) { # as.character( as.cstrptrarray(attr) ) cat("Start tag:", tag, "\n") } onXMLEndTag <- function(user,tag) { cat("End tag:",tag, "\n") } cb.onstart <- new.callback("pZp)v", onXMLStartTag ) cb.onstop <- new.callback("pZ)v", onXMLEndTag ) XML_SetElementHandler( parser, cb.onstart, cb.onstop ) text <- " <hello> <world> </world> </hello> " XML_Parse( parser, text, nchar(text), 1)