summaryrefslogtreecommitdiff
path: root/ext/xslt/xslt.c
diff options
context:
space:
mode:
authorSterling Hughes <sterling@php.net>2001-04-26 02:12:07 +0000
committerSterling Hughes <sterling@php.net>2001-04-26 02:12:07 +0000
commit9c8780c809755736b854ce4d57e985601bf5ca15 (patch)
treef4af49d669f707665aae7b202d7b1b3cbb802223 /ext/xslt/xslt.c
parentad138d77dbcf1950926b3e20bc7622c2dc666e55 (diff)
downloadphp-git-9c8780c809755736b854ce4d57e985601bf5ca15.tar.gz
Add a free function to free the returned structure.
Diffstat (limited to 'ext/xslt/xslt.c')
-rw-r--r--ext/xslt/xslt.c28
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,