diff options
Diffstat (limited to 'ext/xslt/xslt.c')
-rw-r--r-- | ext/xslt/xslt.c | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/ext/xslt/xslt.c b/ext/xslt/xslt.c index 3e8e56cd9d..dd406a1f5c 100644 --- a/ext/xslt/xslt.c +++ b/ext/xslt/xslt.c @@ -67,10 +67,10 @@ static char *find_xslt_argument(const char **argv, const char *key) /* {{{ parse_xslt_arguments() Parse an XSLT argument buffer */ -extern xslt_args *parse_xslt_arguments(char *xml, - char *xsl, - char *result, - char **argv) +extern xslt_args *parse_xslt_arguments(char *xml, + char *xsl, + char *result, + char **argv) { xslt_args *return_value; @@ -119,6 +119,26 @@ extern xslt_args *parse_xslt_arguments(char *xml, } /* }}} */ +/* {{{ free_xslt_arguments() + Free's an XSLT argument list returned from parse_xslt_arguments() */ +extern void free_xslt_arguments(xslt_args *to_free) +{ + if (to_free->xml.ptr) { + efree(to_free->xml.ptr); + } + + if (to_free->xsl.ptr) { + efree(to_free->xsl.ptr); + } + + if (to_free->result.ptr) { + efree(to_free->result.ptr); + } + + efree(to_free); +} +/* }}} */ + /* {{{ call_xslt_function() Call an XSLT handler */ extern void call_xslt_function(char *name, |