[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2009-05-23 Thread Felipe Pena
felipe  Sat May 23 14:31:15 2009 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  - Fix error message
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.17r2=1.39.2.2.2.18diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.17 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.18
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.17   Sun May 10 15:15:47 2009
+++ php-src/ext/xsl/xsltprocessor.c Sat May 23 14:31:15 2009
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.17 2009/05/10 15:15:47 felipe Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.18 2009/05/23 14:31:15 felipe Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -320,7 +320,7 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, Unable to call 
handler %s(), callable);

} else if ( intern-registerPhpFunctions == 2  
zend_hash_exists(intern-registered_phpfunctions, callable, strlen(callable) + 
1) == 0) { 
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Not allowed to 
call handler '%s()'., callable);
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Not allowed to 
call handler '%s()', callable);
/* Push an empty string, so that we at least have an xslt 
result... */
valuePush(ctxt, xmlXPathNewString());
} else {



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2008-12-05 Thread Rob Richards
rrichards   Fri Dec  5 18:36:16 2008 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  MFH: fix arginfo - these also accept SimpleXMLElement
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.14r2=1.39.2.2.2.15diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.15
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14   Sun May  4 15:15:01 2008
+++ php-src/ext/xsl/xsltprocessor.c Fri Dec  5 18:36:16 2008
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.14 2008/05/04 15:15:01 rrichards Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.15 2008/12/05 18:36:16 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -30,23 +30,23 @@
 /* {{{ arginfo */
 static
 ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_import_stylesheet, 0, 0, 1)
-   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
+   ZEND_ARG_INFO(0, doc)
 ZEND_END_ARG_INFO();
 
 static
 ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_transform_to_doc, 0, 0, 1)
-   ZEND_ARG_OBJ_INFO(0, doc, DOMNode, 0)
+   ZEND_ARG_INFO(0, doc)
 ZEND_END_ARG_INFO();
 
 static
 ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_transform_to_uri, 0, 0, 2)
-   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
+   ZEND_ARG_INFO(0, doc)
ZEND_ARG_INFO(0, uri)
 ZEND_END_ARG_INFO();
 
 static
 ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_transform_to_xml, 0, 0, 1)
-   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
+   ZEND_ARG_INFO(0, doc)
 ZEND_END_ARG_INFO();
 
 static



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2008-12-05 Thread Hannes Magnusson
On Fri, Dec 5, 2008 at 19:36, Rob Richards [EMAIL PROTECTED] wrote:
 rrichards   Fri Dec  5 18:36:16 2008 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c
  Log:
  MFH: fix arginfo - these also accept SimpleXMLElement

 http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.14r2=1.39.2.2.2.15diff_format=u
 Index: php-src/ext/xsl/xsltprocessor.c
 diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14 
 php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.15
 --- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14   Sun May  4 15:15:01 
 2008
 +++ php-src/ext/xsl/xsltprocessor.c Fri Dec  5 18:36:16 2008
 @@ -17,7 +17,7 @@
+--+
  */

 -/* $Id: xsltprocessor.c,v 1.39.2.2.2.14 2008/05/04 15:15:01 rrichards Exp $ 
 */
 +/* $Id: xsltprocessor.c,v 1.39.2.2.2.15 2008/12/05 18:36:16 rrichards Exp $ 
 */

  #ifdef HAVE_CONFIG_H
  #include config.h
 @@ -30,23 +30,23 @@
  /* {{{ arginfo */
  static
  ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_import_stylesheet, 0, 0, 1)
 -   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
 +   ZEND_ARG_INFO(0, doc)
  ZEND_END_ARG_INFO();

Doesn't this mean E_ERROR is thrown when SimpleXML element is passed?
If so, this commit definitely deserves a NEWS entry

-Hannes

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2008-12-05 Thread Rob Richards

Hannes Magnusson wrote:

On Fri, Dec 5, 2008 at 19:36, Rob Richards [EMAIL PROTECTED] wrote:
  

rrichards   Fri Dec  5 18:36:16 2008 UTC

 Modified files:  (Branch: PHP_5_2)
   /php-src/ext/xslxsltprocessor.c
 Log:
 MFH: fix arginfo - these also accept SimpleXMLElement

http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.14r2=1.39.2.2.2.15diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.15
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14   Sun May  4 15:15:01 2008
+++ php-src/ext/xsl/xsltprocessor.c Fri Dec  5 18:36:16 2008
@@ -17,7 +17,7 @@
   +--+
 */

-/* $Id: xsltprocessor.c,v 1.39.2.2.2.14 2008/05/04 15:15:01 rrichards Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.15 2008/12/05 18:36:16 rrichards Exp $ */

 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -30,23 +30,23 @@
 /* {{{ arginfo */
 static
 ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_import_stylesheet, 0, 0, 1)
-   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
+   ZEND_ARG_INFO(0, doc)
 ZEND_END_ARG_INFO();



Doesn't this mean E_ERROR is thrown when SimpleXML element is passed?
If so, this commit definitely deserves a NEWS entry

-Hannes
  
As of 5.2.6, a catchable error is currently being thrown, which is 
incorrect, so not sure whether or not this deserves an entry as it was 
broken with the 5.2.6 release. If a regression error deserves a NEWS 
entry then by all means.


Rob


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2008-12-05 Thread Hannes Magnusson
On Sat, Dec 6, 2008 at 01:35, Rob Richards [EMAIL PROTECTED] wrote:
 Hannes Magnusson wrote:

 On Fri, Dec 5, 2008 at 19:36, Rob Richards [EMAIL PROTECTED] wrote:


 rrichards   Fri Dec  5 18:36:16 2008 UTC

  Modified files:  (Branch: PHP_5_2)
   /php-src/ext/xslxsltprocessor.c
  Log:
  MFH: fix arginfo - these also accept SimpleXMLElement


 http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.14r2=1.39.2.2.2.15diff_format=u
 Index: php-src/ext/xsl/xsltprocessor.c
 diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14
 php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.15
 --- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14   Sun May  4
 15:15:01 2008
 +++ php-src/ext/xsl/xsltprocessor.c Fri Dec  5 18:36:16 2008
 @@ -17,7 +17,7 @@

 +--+
  */

 -/* $Id: xsltprocessor.c,v 1.39.2.2.2.14 2008/05/04 15:15:01 rrichards
 Exp $ */
 +/* $Id: xsltprocessor.c,v 1.39.2.2.2.15 2008/12/05 18:36:16 rrichards
 Exp $ */

  #ifdef HAVE_CONFIG_H
  #include config.h
 @@ -30,23 +30,23 @@
  /* {{{ arginfo */
  static
  ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_import_stylesheet, 0,
 0, 1)
 -   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
 +   ZEND_ARG_INFO(0, doc)
  ZEND_END_ARG_INFO();


 Doesn't this mean E_ERROR is thrown when SimpleXML element is passed?
 If so, this commit definitely deserves a NEWS entry

 -Hannes


 As of 5.2.6, a catchable error is currently being thrown, which is
 incorrect, so not sure whether or not this deserves an entry as it was
 broken with the 5.2.6 release. If a regression error deserves a NEWS entry
 then by all means.

Seems weird that a massive regression like this wasn't caught until
7months later, and even then not a bug report but by you... Still. It
is a total wtf for anyone not using a userland error handler.
I say NEWS it :)

-Hannes

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2008-05-04 Thread Rob Richards
rrichards   Sun May  4 15:15:01 2008 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  MFH: fix bug #44891 Memory leak using registerPHPFunctions and XSLT Variable
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.13r2=1.39.2.2.2.14diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.13 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.14
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.13   Tue Jan 29 21:21:28 2008
+++ php-src/ext/xsl/xsltprocessor.c Sun May  4 15:15:01 2008
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.13 2008/01/29 21:21:28 sebastian Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.14 2008/05/04 15:15:01 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -280,7 +280,9 @@
}
break;
default:
-   ZVAL_STRING(args[i], xmlXPathCastToString(obj), 1);
+   str = xmlXPathCastToString(obj);
+   ZVAL_STRING(args[i], str, 1);
+   xmlFree(str);
}
xmlXPathFreeObject(obj);
fci.params[i] = args[i];



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2008-01-29 Thread Sebastian Bergmann
sebastian   Tue Jan 29 21:21:28 2008 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  MFH: Fix arginfo and prototype.
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.12r2=1.39.2.2.2.13diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.12 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.13
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.12   Tue Jan 29 07:51:46 2008
+++ php-src/ext/xsl/xsltprocessor.c Tue Jan 29 21:21:28 2008
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.12 2008/01/29 07:51:46 sebastian Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.13 2008/01/29 21:21:28 sebastian Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -74,6 +74,7 @@
 
 static
 ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_register_php_functions, 0, 0, 
0)
+   ZEND_ARG_INFO(0, restrict)
 ZEND_END_ARG_INFO();
 /* }}} */
 
@@ -773,7 +774,7 @@
 }
 /* }}} end xsl_xsltprocessor_remove_parameter */
 
-/* {{{ proto void xsl_xsltprocessor_register_php_functions();
+/* {{{ proto void xsl_xsltprocessor_register_php_functions([mixed $restrict]);
 */
 PHP_FUNCTION(xsl_xsltprocessor_register_php_functions)
 {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2008-01-28 Thread Sebastian Bergmann
sebastian   Tue Jan 29 07:51:46 2008 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  MFH: Add Reflection API metadata for XSLTProcessor.
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.11r2=1.39.2.2.2.12diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.11 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.12
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.11   Mon Dec 31 07:20:14 2007
+++ php-src/ext/xsl/xsltprocessor.c Tue Jan 29 07:51:46 2008
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.11 2007/12/31 07:20:14 sebastian Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.12 2008/01/29 07:51:46 sebastian Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -27,6 +27,56 @@
 #include php_xsl.h
 #include ext/libxml/php_libxml.h
 
+/* {{{ arginfo */
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_import_stylesheet, 0, 0, 1)
+   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
+ZEND_END_ARG_INFO();
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_transform_to_doc, 0, 0, 1)
+   ZEND_ARG_OBJ_INFO(0, doc, DOMNode, 0)
+ZEND_END_ARG_INFO();
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_transform_to_uri, 0, 0, 2)
+   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
+   ZEND_ARG_INFO(0, uri)
+ZEND_END_ARG_INFO();
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_transform_to_xml, 0, 0, 1)
+   ZEND_ARG_OBJ_INFO(0, doc, DOMDocument, 0)
+ZEND_END_ARG_INFO();
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_set_parameter, 0, 0, 2)
+   ZEND_ARG_INFO(0, namespace)
+   ZEND_ARG_INFO(0, name)
+   ZEND_ARG_INFO(0, value)
+ZEND_END_ARG_INFO();
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_get_parameter, 0, 0, 2)
+   ZEND_ARG_INFO(0, namespace)
+   ZEND_ARG_INFO(0, name)
+ZEND_END_ARG_INFO();
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_remove_parameter, 0, 0, 2)
+   ZEND_ARG_INFO(0, namespace)
+   ZEND_ARG_INFO(0, name)
+ZEND_END_ARG_INFO();
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_has_exslt_support, 0, 0, 0)
+ZEND_END_ARG_INFO();
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_xsl_xsltprocessor_register_php_functions, 0, 0, 
0)
+ZEND_END_ARG_INFO();
+/* }}} */
+
 /*
 * class xsl_xsltprocessor 
 *
@@ -35,15 +85,15 @@
 */
 
 zend_function_entry php_xsl_xsltprocessor_class_functions[] = {
-   PHP_FALIAS(importStylesheet, xsl_xsltprocessor_import_stylesheet, NULL)
-   PHP_FALIAS(transformToDoc, xsl_xsltprocessor_transform_to_doc, NULL)
-   PHP_FALIAS(transformToUri, xsl_xsltprocessor_transform_to_uri, NULL)
-   PHP_FALIAS(transformToXml, xsl_xsltprocessor_transform_to_xml, NULL)
-   PHP_FALIAS(setParameter, xsl_xsltprocessor_set_parameter, NULL)
-   PHP_FALIAS(getParameter, xsl_xsltprocessor_get_parameter, NULL)
-   PHP_FALIAS(removeParameter, xsl_xsltprocessor_remove_parameter, NULL)
-   PHP_FALIAS(hasExsltSupport, xsl_xsltprocessor_has_exslt_support, NULL)
-   PHP_FALIAS(registerPHPFunctions, 
xsl_xsltprocessor_register_php_functions, NULL)
+   PHP_FALIAS(importStylesheet, xsl_xsltprocessor_import_stylesheet, 
arginfo_xsl_xsltprocessor_import_stylesheet)
+   PHP_FALIAS(transformToDoc, xsl_xsltprocessor_transform_to_doc, 
arginfo_xsl_xsltprocessor_transform_to_doc)
+   PHP_FALIAS(transformToUri, xsl_xsltprocessor_transform_to_uri, 
arginfo_xsl_xsltprocessor_transform_to_uri)
+   PHP_FALIAS(transformToXml, xsl_xsltprocessor_transform_to_xml, 
arginfo_xsl_xsltprocessor_transform_to_xml)
+   PHP_FALIAS(setParameter, xsl_xsltprocessor_set_parameter, 
arginfo_xsl_xsltprocessor_set_parameter)
+   PHP_FALIAS(getParameter, xsl_xsltprocessor_get_parameter, 
arginfo_xsl_xsltprocessor_get_parameter)
+   PHP_FALIAS(removeParameter, xsl_xsltprocessor_remove_parameter, 
arginfo_xsl_xsltprocessor_remove_parameter)
+   PHP_FALIAS(hasExsltSupport, xsl_xsltprocessor_has_exslt_support, 
arginfo_xsl_xsltprocessor_has_exslt_support)
+   PHP_FALIAS(registerPHPFunctions, 
xsl_xsltprocessor_register_php_functions, 
arginfo_xsl_xsltprocessor_register_php_functions)
{NULL, NULL, NULL}
 };
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2007-08-05 Thread Jani Taskinen

Isn't this fix necessary for HEAD?

--Jani

Rob Richards kirjoitti:

rrichards   Mon Jul 30 16:33:22 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xsl	xsltprocessor.c 
  Log:

  allow user specified class to be returned from transformToDoc
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.8r2=1.39.2.2.2.9diff_format=u

Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.8 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.9
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.8Mon Jan  1 09:36:10 2007
+++ php-src/ext/xsl/xsltprocessor.c Mon Jul 30 16:33:22 2007
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.8 2007/01/01 09:36:10 sebastian Exp $ */

+/* $Id: xsltprocessor.c,v 1.39.2.2.2.9 2007/07/30 16:33:22 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H

 #include config.h
@@ -505,21 +505,49 @@
zval *id, *rv = NULL, *docp = NULL;
xmlDoc *newdocp;
xsltStylesheetPtr sheetp;
-   int ret;
+   int ret, ret_class_len=0;
+   char *ret_class = NULL;
xsl_object *intern;
-   
+
id = getThis();
intern = (xsl_object *)zend_object_store_get_object(id TSRMLS_CC);
sheetp = (xsltStylesheetPtr) intern-ptr;
 
-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, o, docp) == FAILURE) {

+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, o|s!, docp, 
ret_class, ret_class_len) == FAILURE) {
RETURN_FALSE;
}
 
 	newdocp = php_xsl_apply_stylesheet(id, intern, sheetp, docp TSRMLS_CC);
 
 	if (newdocp) {

-   DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
+   if (ret_class) {
+   int found;
+   char *curclass_name;
+   zend_class_entry *curce, **ce;
+   php_libxml_node_object *interndoc;
+
+   curce = Z_OBJCE_P(docp);
+   curclass_name = curce-name;
+   while (curce-parent != NULL) {
+   curce = curce-parent;
+   }
+
+   found = zend_lookup_class(ret_class, ret_class_len, ce 
TSRMLS_CC);
+   if ((found != SUCCESS) || !instanceof_function(*ce, 
curce TSRMLS_CC)) {
+   xmlFreeDoc(newdocp);
+php_error_docref(NULL TSRMLS_CC, E_WARNING, 
+	Expecting class compatible with %s, '%s' given, curclass_name, ret_class);

+   RETURN_FALSE;
+   }
+
+   object_init_ex(return_value, *ce);
+   
+   interndoc = (php_libxml_node_object 
*)zend_objects_get_address(return_value TSRMLS_CC);
+   php_libxml_increment_doc_ref(interndoc, newdocp 
TSRMLS_CC);
+   php_libxml_increment_node_ptr(interndoc, 
(xmlNodePtr)newdocp, (void *)interndoc TSRMLS_CC);
+   } else {
+   DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
+   }
} else {
RETURN_FALSE;
}



--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2007-08-05 Thread Hannes Magnusson
This was a MFH

-Hannes

On 8/5/07, Jani Taskinen [EMAIL PROTECTED] wrote:
 Isn't this fix necessary for HEAD?

 --Jani

 Rob Richards kirjoitti:
  rrichards Mon Jul 30 16:33:22 2007 UTC
 
Modified files:  (Branch: PHP_5_2)
  /php-src/ext/xsl  xsltprocessor.c
Log:
allow user specified class to be returned from transformToDoc
 
  http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.8r2=1.39.2.2.2.9diff_format=u
  Index: php-src/ext/xsl/xsltprocessor.c
  diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.8 
  php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.9
  --- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.8  Mon Jan  1 09:36:10 
  2007
  +++ php-src/ext/xsl/xsltprocessor.c   Mon Jul 30 16:33:22 2007
  @@ -17,7 +17,7 @@
  +--+
   */
 
  -/* $Id: xsltprocessor.c,v 1.39.2.2.2.8 2007/01/01 09:36:10 sebastian Exp $ 
  */
  +/* $Id: xsltprocessor.c,v 1.39.2.2.2.9 2007/07/30 16:33:22 rrichards Exp $ 
  */
 
   #ifdef HAVE_CONFIG_H
   #include config.h
  @@ -505,21 +505,49 @@
zval *id, *rv = NULL, *docp = NULL;
xmlDoc *newdocp;
xsltStylesheetPtr sheetp;
  - int ret;
  + int ret, ret_class_len=0;
  + char *ret_class = NULL;
xsl_object *intern;
  -
  +
id = getThis();
intern = (xsl_object *)zend_object_store_get_object(id TSRMLS_CC);
sheetp = (xsltStylesheetPtr) intern-ptr;
 
  - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, o, docp) == 
  FAILURE) {
  + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, o|s!, docp, 
  ret_class, ret_class_len) == FAILURE) {
RETURN_FALSE;
}
 
newdocp = php_xsl_apply_stylesheet(id, intern, sheetp, docp 
  TSRMLS_CC);
 
if (newdocp) {
  - DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
  + if (ret_class) {
  + int found;
  + char *curclass_name;
  + zend_class_entry *curce, **ce;
  + php_libxml_node_object *interndoc;
  +
  + curce = Z_OBJCE_P(docp);
  + curclass_name = curce-name;
  + while (curce-parent != NULL) {
  + curce = curce-parent;
  + }
  +
  + found = zend_lookup_class(ret_class, ret_class_len, 
  ce TSRMLS_CC);
  + if ((found != SUCCESS) || !instanceof_function(*ce, 
  curce TSRMLS_CC)) {
  + xmlFreeDoc(newdocp);
  + php_error_docref(NULL TSRMLS_CC, E_WARNING,
  + Expecting class compatible with %s, 
  '%s' given, curclass_name, ret_class);
  + RETURN_FALSE;
  + }
  +
  + object_init_ex(return_value, *ce);
  +
  + interndoc = (php_libxml_node_object 
  *)zend_objects_get_address(return_value TSRMLS_CC);
  + php_libxml_increment_doc_ref(interndoc, newdocp 
  TSRMLS_CC);
  + php_libxml_increment_node_ptr(interndoc, 
  (xmlNodePtr)newdocp, (void *)interndoc TSRMLS_CC);
  + } else {
  + DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
  + }
} else {
RETURN_FALSE;
}
 

 --
 PHP CVS Mailing List (http://www.php.net/)
 To unsubscribe, visit: http://www.php.net/unsub.php



-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2007-08-05 Thread Jani Taskinen
Would have saved me the trouble of sending the email if the commit message had 
mentioned the fact.. ;)


--Jani

Hannes Magnusson kirjoitti:

This was a MFH

-Hannes

On 8/5/07, Jani Taskinen [EMAIL PROTECTED] wrote:

Isn't this fix necessary for HEAD?

--Jani

Rob Richards kirjoitti:

rrichards Mon Jul 30 16:33:22 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xsl  xsltprocessor.c
  Log:
  allow user specified class to be returned from transformToDoc

http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.8r2=1.39.2.2.2.9diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.8 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.9
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.8  Mon Jan  1 09:36:10 2007
+++ php-src/ext/xsl/xsltprocessor.c   Mon Jul 30 16:33:22 2007
@@ -17,7 +17,7 @@
+--+
 */

-/* $Id: xsltprocessor.c,v 1.39.2.2.2.8 2007/01/01 09:36:10 sebastian Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.9 2007/07/30 16:33:22 rrichards Exp $ */

 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -505,21 +505,49 @@
  zval *id, *rv = NULL, *docp = NULL;
  xmlDoc *newdocp;
  xsltStylesheetPtr sheetp;
- int ret;
+ int ret, ret_class_len=0;
+ char *ret_class = NULL;
  xsl_object *intern;
-
+
  id = getThis();
  intern = (xsl_object *)zend_object_store_get_object(id TSRMLS_CC);
  sheetp = (xsltStylesheetPtr) intern-ptr;

- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, o, docp) == 
FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, o|s!, docp, 
ret_class, ret_class_len) == FAILURE) {
  RETURN_FALSE;
  }

  newdocp = php_xsl_apply_stylesheet(id, intern, sheetp, docp TSRMLS_CC);

  if (newdocp) {
- DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
+ if (ret_class) {
+ int found;
+ char *curclass_name;
+ zend_class_entry *curce, **ce;
+ php_libxml_node_object *interndoc;
+
+ curce = Z_OBJCE_P(docp);
+ curclass_name = curce-name;
+ while (curce-parent != NULL) {
+ curce = curce-parent;
+ }
+
+ found = zend_lookup_class(ret_class, ret_class_len, ce 
TSRMLS_CC);
+ if ((found != SUCCESS) || !instanceof_function(*ce, curce 
TSRMLS_CC)) {
+ xmlFreeDoc(newdocp);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING,
+ Expecting class compatible with %s, '%s' 
given, curclass_name, ret_class);
+ RETURN_FALSE;
+ }
+
+ object_init_ex(return_value, *ce);
+
+ interndoc = (php_libxml_node_object 
*)zend_objects_get_address(return_value TSRMLS_CC);
+ php_libxml_increment_doc_ref(interndoc, newdocp 
TSRMLS_CC);
+ php_libxml_increment_node_ptr(interndoc, 
(xmlNodePtr)newdocp, (void *)interndoc TSRMLS_CC);
+ } else {
+ DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
+ }
  } else {
  RETURN_FALSE;
  }


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2007-07-30 Thread Rob Richards
rrichards   Mon Jul 30 16:33:22 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  allow user specified class to be returned from transformToDoc
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.8r2=1.39.2.2.2.9diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.8 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.9
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.8Mon Jan  1 09:36:10 2007
+++ php-src/ext/xsl/xsltprocessor.c Mon Jul 30 16:33:22 2007
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.8 2007/01/01 09:36:10 sebastian Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.9 2007/07/30 16:33:22 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -505,21 +505,49 @@
zval *id, *rv = NULL, *docp = NULL;
xmlDoc *newdocp;
xsltStylesheetPtr sheetp;
-   int ret;
+   int ret, ret_class_len=0;
+   char *ret_class = NULL;
xsl_object *intern;
-   
+
id = getThis();
intern = (xsl_object *)zend_object_store_get_object(id TSRMLS_CC);
sheetp = (xsltStylesheetPtr) intern-ptr;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, o, docp) == 
FAILURE) {
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, o|s!, docp, 
ret_class, ret_class_len) == FAILURE) {
RETURN_FALSE;
}
 
newdocp = php_xsl_apply_stylesheet(id, intern, sheetp, docp TSRMLS_CC);
 
if (newdocp) {
-   DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
+   if (ret_class) {
+   int found;
+   char *curclass_name;
+   zend_class_entry *curce, **ce;
+   php_libxml_node_object *interndoc;
+
+   curce = Z_OBJCE_P(docp);
+   curclass_name = curce-name;
+   while (curce-parent != NULL) {
+   curce = curce-parent;
+   }
+
+   found = zend_lookup_class(ret_class, ret_class_len, ce 
TSRMLS_CC);
+   if ((found != SUCCESS) || !instanceof_function(*ce, 
curce TSRMLS_CC)) {
+   xmlFreeDoc(newdocp);
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, 
+   Expecting class compatible with %s, 
'%s' given, curclass_name, ret_class);
+   RETURN_FALSE;
+   }
+
+   object_init_ex(return_value, *ce);
+   
+   interndoc = (php_libxml_node_object 
*)zend_objects_get_address(return_value TSRMLS_CC);
+   php_libxml_increment_doc_ref(interndoc, newdocp 
TSRMLS_CC);
+   php_libxml_increment_node_ptr(interndoc, 
(xmlNodePtr)newdocp, (void *)interndoc TSRMLS_CC);
+   } else {
+   DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
+   }
} else {
RETURN_FALSE;
}

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2006-12-29 Thread Ilia Alshanetsky
iliaa   Sat Dec 30 02:28:15 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  
  C++ comment
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.6r2=1.39.2.2.2.7diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.6 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.7
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.6Mon Dec 25 22:27:24 2006
+++ php-src/ext/xsl/xsltprocessor.c Sat Dec 30 02:28:15 2006
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.6 2006/12/25 22:27:24 tony2001 Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.7 2006/12/30 02:28:15 iliaa Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -268,7 +268,7 @@

} else if ( intern-registerPhpFunctions == 2  
zend_hash_exists(intern-registered_phpfunctions, callable, strlen(callable) + 
1) == 0) { 
php_error_docref(NULL TSRMLS_CC, E_WARNING, Not allowed to 
call handler '%s()'., callable);
-   // Push an empty string, so that we at least have an xslt 
result...
+   /* Push an empty string, so that we at least have an xslt 
result... */
valuePush(ctxt, xmlXPathNewString());
} else {
result = zend_call_function(fci, NULL TSRMLS_CC);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2006-12-25 Thread Antony Dovgal
tony2001Mon Dec 25 22:27:24 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  MFH
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.5r2=1.39.2.2.2.6diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.5 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.6
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.5Tue Dec  5 12:04:34 2006
+++ php-src/ext/xsl/xsltprocessor.c Mon Dec 25 22:27:24 2006
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.5 2006/12/05 12:04:34 rrichards Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.6 2006/12/25 22:27:24 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -87,7 +87,7 @@
int i = 0;
 
parsize = (2 * zend_hash_num_elements(parht) + 1) * sizeof(char *);
-   params = (char **)emalloc(parsize);
+   params = (char **)safe_emalloc((2 * zend_hash_num_elements(parht) + 1), 
sizeof(char *), 0);
memset((char *)params, 0, parsize);
 
for (zend_hash_internal_pointer_reset(parht);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2006-12-05 Thread Rob Richards
rrichards   Tue Dec  5 12:04:34 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  fix bug #39625 (Apache crashes on importStylesheet call)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.4r2=1.39.2.2.2.5diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.4 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.5
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.4Mon Jul 31 13:05:35 2006
+++ php-src/ext/xsl/xsltprocessor.c Tue Dec  5 12:04:34 2006
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.4 2006/07/31 13:05:35 chregu Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.5 2006/12/05 12:04:34 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -384,13 +384,15 @@
efree(member);
if (clone_docu == 0) {
/* check if the stylesheet is using xsl:key, if yes, we have to 
clone the document _always_ before a transformation */
-   nodep = xmlDocGetRootElement(sheetp-doc)-children;
-   while (nodep) {
-   if (nodep-type == XML_ELEMENT_NODE  
xmlStrEqual(nodep-name, key)  xmlStrEqual(nodep-ns-href, 
XSLT_NAMESPACE)) {
-   intern-hasKeys = 1;
-   break;
+   nodep = xmlDocGetRootElement(sheetp-doc);
+   if (nodep  (nodep = nodep-children)) {
+   while (nodep) {
+   if (nodep-type == XML_ELEMENT_NODE  
xmlStrEqual(nodep-name, key)  xmlStrEqual(nodep-ns-href, 
XSLT_NAMESPACE)) {
+   intern-hasKeys = 1;
+   break;
+   }
+   nodep = nodep-next;
}
-   nodep = nodep-next;
}
} else {
intern-hasKeys = clone_docu;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2006-07-31 Thread Christian Stocker
chregu  Mon Jul 31 12:50:42 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  return true, if xsl import did work
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.2r2=1.39.2.2.2.3diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.2 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.3
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.2Wed Jun 14 09:42:35 2006
+++ php-src/ext/xsl/xsltprocessor.c Mon Jul 31 12:50:42 2006
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.2 2006/06/14 09:42:35 chregu Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.3 2006/07/31 12:50:42 chregu Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -406,6 +406,7 @@
}
 
php_xsl_set_object(id, sheetp TSRMLS_CC);
+   RETURN_TRUE;
 }
 /* }}} end xsl_xsltprocessor_import_stylesheet */
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2006-07-31 Thread Christian Stocker
chregu  Mon Jul 31 13:05:35 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  return false instead of null, if it's an invalid document
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2.2.3r2=1.39.2.2.2.4diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.3 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.4
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.3Mon Jul 31 12:50:42 2006
+++ php-src/ext/xsl/xsltprocessor.c Mon Jul 31 13:05:35 2006
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2.2.3 2006/07/31 12:50:42 chregu Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.4 2006/07/31 13:05:35 chregu Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -351,7 +351,7 @@
}
if (doc == NULL) {
php_error(E_WARNING, Invalid Document);
-   RETURN_NULL();
+   RETURN_FALSE;
}
 
/* libxslt uses _private, so we must copy the imported 
@@ -406,7 +406,7 @@
}
 
php_xsl_set_object(id, sheetp TSRMLS_CC);
-   RETURN_TRUE;
+   RETVAL_TRUE;
 }
 /* }}} end xsl_xsltprocessor_import_stylesheet */
 

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-CVS] cvs: php-src(PHP_5_2) /ext/xsl xsltprocessor.c

2006-05-12 Thread Rob Richards
rrichards   Fri May 12 18:53:40 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/xslxsltprocessor.c 
  Log:
  MFH: add doXInclude property to allow processor to perform XIncludes
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/xsl/xsltprocessor.c?r1=1.39.2.2r2=1.39.2.2.2.1diff_format=u
Index: php-src/ext/xsl/xsltprocessor.c
diff -u php-src/ext/xsl/xsltprocessor.c:1.39.2.2 
php-src/ext/xsl/xsltprocessor.c:1.39.2.2.2.1
--- php-src/ext/xsl/xsltprocessor.c:1.39.2.2Sun Jan  1 12:50:17 2006
+++ php-src/ext/xsl/xsltprocessor.c Fri May 12 18:53:40 2006
@@ -17,7 +17,7 @@
+--+
 */
 
-/* $Id: xsltprocessor.c,v 1.39.2.2 2006/01/01 12:50:17 sniper Exp $ */
+/* $Id: xsltprocessor.c,v 1.39.2.2.2.1 2006/05/12 18:53:40 rrichards Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -396,7 +396,7 @@
} else {
intern-hasKeys = clone_docu;
}
-   
+
if ((oldsheetp = (xsltStylesheetPtr)intern-ptr)) { 
/* free wrapper */
if (((xsltStylesheetPtr) intern-ptr)-_private != NULL) {
@@ -411,7 +411,7 @@
 /* }}} end xsl_xsltprocessor_import_stylesheet */
 
 
-static xmlDocPtr php_xsl_apply_stylesheet(xsl_object *intern, 
xsltStylesheetPtr style, zval *docp TSRMLS_DC)
+static xmlDocPtr php_xsl_apply_stylesheet(zval *id, xsl_object *intern, 
xsltStylesheetPtr style, zval *docp TSRMLS_DC)
 {
xmlDocPtr newdocp;
xmlDocPtr doc = NULL;
@@ -420,6 +420,8 @@
php_libxml_node_object *object;
char **params = NULL;
int clone;
+   zval *doXInclude, *member;
+   zend_object_handlers *std_hnd;
 
node = php_libxml_import_node(docp TSRMLS_CC);

@@ -453,7 +455,18 @@
 
ctxt = xsltNewTransformContext(style, doc);
ctxt-_private = (void *) intern;
-   
+
+   std_hnd = zend_get_std_object_handlers();
+
+   MAKE_STD_ZVAL(member);
+   ZVAL_STRING(member, doXInclude, 0);
+   doXInclude = std_hnd-read_property(id, member, BP_VAR_IS TSRMLS_CC);
+   if (Z_TYPE_P(doXInclude) != IS_NULL) {
+   convert_to_long(doXInclude);
+   ctxt-xinclude = Z_LVAL_P(doXInclude);
+   }
+   efree(member);
+
newdocp = xsltApplyStylesheetUser(style, doc, (const char**) params, 
NULL, NULL, ctxt);
 
xsltFreeTransformContext(ctxt);
@@ -501,7 +514,7 @@
RETURN_FALSE;
}
 
-   newdocp = php_xsl_apply_stylesheet(intern, sheetp, docp TSRMLS_CC);
+   newdocp = php_xsl_apply_stylesheet(id, intern, sheetp, docp TSRMLS_CC);
 
if (newdocp) {
DOM_RET_OBJ(rv, (xmlNodePtr) newdocp, ret, NULL);
@@ -532,7 +545,7 @@
RETURN_FALSE;
}
 
-   newdocp = php_xsl_apply_stylesheet(intern, sheetp, docp TSRMLS_CC);
+   newdocp = php_xsl_apply_stylesheet(id, intern, sheetp, docp TSRMLS_CC);
 
ret = -1;
if (newdocp) {
@@ -565,7 +578,7 @@
RETURN_FALSE;
}
 
-   newdocp = php_xsl_apply_stylesheet(intern, sheetp, docp TSRMLS_CC);
+   newdocp = php_xsl_apply_stylesheet(id, intern, sheetp, docp TSRMLS_CC);
 
ret = -1;
if (newdocp) {

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php