} xslt_args;
extern xslt_args *parse_xslt_arguments(char *, char *, char *, char **);
+extern void free_xslt_arguments(xslt_args *to_free);
extern void assign_xslt_handler(struct xslt_function **, zval **);
extern void free_xslt_handler(struct xslt_function *);
/* {{{ 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;
}
/* }}} */
+/* {{{ 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,