[PHP-CVS] cvs: php-src(PHP_5_2) /ext/standard assert.c basic_functions.c

2007-02-16 Thread Dmitry Stogov
dmitry  Fri Feb 16 13:12:10 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   assert.c basic_functions.c 
  Log:
  Fixed return value of assert_options(ASSERT_CALLBACK) and possible crash 
(Andy Wharmby)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/assert.c?r1=1.60.2.3.2.4r2=1.60.2.3.2.5diff_format=u
Index: php-src/ext/standard/assert.c
diff -u php-src/ext/standard/assert.c:1.60.2.3.2.4 
php-src/ext/standard/assert.c:1.60.2.3.2.5
--- php-src/ext/standard/assert.c:1.60.2.3.2.4  Mon Jan  1 09:36:08 2007
+++ php-src/ext/standard/assert.c   Fri Feb 16 13:12:10 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: assert.c,v 1.60.2.3.2.4 2007/01/01 09:36:08 sebastian Exp $ */
+/* $Id: assert.c,v 1.60.2.3.2.5 2007/02/16 13:12:10 dmitry Exp $ */
 
 /* {{{ includes/startup/misc */
 
@@ -114,6 +114,16 @@
return SUCCESS;
 }
 
+PHP_RINIT_FUNCTION(assert)
+{
+   if (ASSERTG(cb)) {
+   MAKE_STD_ZVAL(ASSERTG(callback));
+   ZVAL_STRING(ASSERTG(callback), ASSERTG(cb), 1);
+   }
+
+   return SUCCESS;
+}
+
 PHP_RSHUTDOWN_FUNCTION(assert)
 {
if (ASSERTG(callback)) { 
@@ -187,11 +197,6 @@
RETURN_TRUE;
}
 
-   if (!ASSERTG(callback)  ASSERTG(cb)) {
-   MAKE_STD_ZVAL(ASSERTG(callback));
-   ZVAL_STRING(ASSERTG(callback), ASSERTG(cb), 1);
-   }
-
if (ASSERTG(callback)) {
zval *args[3];
zval *retval;
@@ -286,6 +291,11 @@
break;
 
case ASSERT_CALLBACK:
+   if (ASSERTG(callback) != NULL) {
+   RETVAL_ZVAL(ASSERTG(callback), 1, 0);
+   } else {
+   RETVAL_NULL();
+   }
if (ac == 2) {
if (ASSERTG(callback)) {
zval_ptr_dtor(ASSERTG(callback));
@@ -293,7 +303,7 @@
ASSERTG(callback) = *value;
zval_add_ref(value);
}
-   RETURN_TRUE;
+   return;
break;
 
default:
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.39r2=1.725.2.31.2.40diff_format=u
Index: php-src/ext/standard/basic_functions.c
diff -u php-src/ext/standard/basic_functions.c:1.725.2.31.2.39 
php-src/ext/standard/basic_functions.c:1.725.2.31.2.40
--- php-src/ext/standard/basic_functions.c:1.725.2.31.2.39  Mon Jan  1 
09:36:08 2007
+++ php-src/ext/standard/basic_functions.c  Fri Feb 16 13:12:10 2007
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: basic_functions.c,v 1.725.2.31.2.39 2007/01/01 09:36:08 sebastian Exp 
$ */
+/* $Id: basic_functions.c,v 1.725.2.31.2.40 2007/02/16 13:12:10 dmitry Exp $ */
 
 #include php.h
 #include php_streams.h
@@ -4132,6 +4132,7 @@
 #ifdef HAVE_SYSLOG_H
PHP_RINIT(syslog)(INIT_FUNC_ARGS_PASSTHRU);
 #endif
+   PHP_RINIT(assert) (INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(dir)(INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(url_scanner_ex)(INIT_FUNC_ARGS_PASSTHRU);
 

-- 
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/standard assert.c basic_functions.c

2007-02-16 Thread Dmitry Stogov
dmitry  Fri Feb 16 16:35:04 2007 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   assert.c basic_functions.c 
  Log:
  Optimize out RINIT()
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/assert.c?r1=1.60.2.3.2.5r2=1.60.2.3.2.6diff_format=u
Index: php-src/ext/standard/assert.c
diff -u php-src/ext/standard/assert.c:1.60.2.3.2.5 
php-src/ext/standard/assert.c:1.60.2.3.2.6
--- php-src/ext/standard/assert.c:1.60.2.3.2.5  Fri Feb 16 13:12:10 2007
+++ php-src/ext/standard/assert.c   Fri Feb 16 16:35:04 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: assert.c,v 1.60.2.3.2.5 2007/02/16 13:12:10 dmitry Exp $ */
+/* $Id: assert.c,v 1.60.2.3.2.6 2007/02/16 16:35:04 dmitry Exp $ */
 
 /* {{{ includes/startup/misc */
 
@@ -114,16 +114,6 @@
return SUCCESS;
 }
 
-PHP_RINIT_FUNCTION(assert)
-{
-   if (ASSERTG(cb)) {
-   MAKE_STD_ZVAL(ASSERTG(callback));
-   ZVAL_STRING(ASSERTG(callback), ASSERTG(cb), 1);
-   }
-
-   return SUCCESS;
-}
-
 PHP_RSHUTDOWN_FUNCTION(assert)
 {
if (ASSERTG(callback)) { 
@@ -197,6 +187,11 @@
RETURN_TRUE;
}
 
+   if (!ASSERTG(callback)  ASSERTG(cb)) {
+   MAKE_STD_ZVAL(ASSERTG(callback));
+   ZVAL_STRING(ASSERTG(callback), ASSERTG(cb), 1);
+   }
+
if (ASSERTG(callback)) {
zval *args[3];
zval *retval;
@@ -293,6 +288,8 @@
case ASSERT_CALLBACK:
if (ASSERTG(callback) != NULL) {
RETVAL_ZVAL(ASSERTG(callback), 1, 0);
+   } else if (ASSERTG(cb)) {
+   RETVAL_STRING(ASSERTG(cb), 1);
} else {
RETVAL_NULL();
}
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.725.2.31.2.40r2=1.725.2.31.2.41diff_format=u
Index: php-src/ext/standard/basic_functions.c
diff -u php-src/ext/standard/basic_functions.c:1.725.2.31.2.40 
php-src/ext/standard/basic_functions.c:1.725.2.31.2.41
--- php-src/ext/standard/basic_functions.c:1.725.2.31.2.40  Fri Feb 16 
13:12:10 2007
+++ php-src/ext/standard/basic_functions.c  Fri Feb 16 16:35:04 2007
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: basic_functions.c,v 1.725.2.31.2.40 2007/02/16 13:12:10 dmitry Exp $ */
+/* $Id: basic_functions.c,v 1.725.2.31.2.41 2007/02/16 16:35:04 dmitry Exp $ */
 
 #include php.h
 #include php_streams.h
@@ -4132,7 +4132,6 @@
 #ifdef HAVE_SYSLOG_H
PHP_RINIT(syslog)(INIT_FUNC_ARGS_PASSTHRU);
 #endif
-   PHP_RINIT(assert) (INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(dir)(INIT_FUNC_ARGS_PASSTHRU);
PHP_RINIT(url_scanner_ex)(INIT_FUNC_ARGS_PASSTHRU);
 

-- 
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/standard assert.c /ext/standard/tests/assert assert02.phpt

2006-07-01 Thread Nuno Lopes
nlopess Sat Jul  1 12:21:07 2006 UTC

  Added files: (Branch: PHP_5_2)
/php-src/ext/standard/tests/assert  assert02.phpt 

  Modified files:  
/php-src/ext/standard   assert.c 
  Log:
  fixed segfaults and such things within the new assert02.phpt test
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/assert.c?r1=1.60.2.3.2.1r2=1.60.2.3.2.2diff_format=u
Index: php-src/ext/standard/assert.c
diff -u php-src/ext/standard/assert.c:1.60.2.3.2.1 
php-src/ext/standard/assert.c:1.60.2.3.2.2
--- php-src/ext/standard/assert.c:1.60.2.3.2.1  Fri Jun 23 11:37:53 2006
+++ php-src/ext/standard/assert.c   Sat Jul  1 12:21:07 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: assert.c,v 1.60.2.3.2.1 2006/06/23 11:37:53 iliaa Exp $ */
+/* $Id: assert.c,v 1.60.2.3.2.2 2006/07/01 12:21:07 nlopess Exp $ */
 
 /* {{{ includes/startup/misc */
 
@@ -152,7 +152,10 @@
if (zend_eval_string(myeval, retval, 
compiled_string_description TSRMLS_CC) == FAILURE) {
efree(compiled_string_description);
php_error_docref(NULL TSRMLS_CC, E_RECOVERABLE_ERROR, 
Failure evaluating code: %s%s, PHP_EOL, myeval);
-   /* php_error_docref() does not return in this case. */
+   if (ASSERTG(bail)) {
+   zend_bailout();
+   }
+   RETURN_FALSE;
}
efree(compiled_string_description);
 

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/assert/assert02.phpt?view=markuprev=1.1
Index: php-src/ext/standard/tests/assert/assert02.phpt
+++ php-src/ext/standard/tests/assert/assert02.phpt

-- 
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/standard assert.c

2006-06-24 Thread Ilia Alshanetsky
It will still return and terminate the function, it just will not  
necessarily terminate the PHP script execution.



On 23-Jun-06, at 1:59 PM, Andrey Hristov wrote:


  Hi Ilia,
Ilia Alshanetsky wrote:

iliaa   Fri Jun 23 11:37:53 2006 UTC
  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   assert.c   Log:
  Change E_ERROR to E_RECOVERABLE_ERROR
  http://cvs.php.net/viewvc.cgi/php-src/ext/standard/assert.c? 
r1=1.60.2.3r2=1.60.2.3.2.1diff_format=u

Index: php-src/ext/standard/assert.c
diff -u php-src/ext/standard/assert.c:1.60.2.3 php-src/ext/ 
standard/assert.c:1.60.2.3.2.1

--- php-src/ext/standard/assert.c:1.60.2.3  Sun Jan  1 12:50:14 2006
+++ php-src/ext/standard/assert.c   Fri Jun 23 11:37:53 2006
@@ -16,7 +16,7 @@
 
+ 
--+

  */
 -/* $Id: assert.c,v 1.60.2.3 2006/01/01 12:50:14 sniper Exp $ */
+/* $Id: assert.c,v 1.60.2.3.2.1 2006/06/23 11:37:53 iliaa Exp $ */
  /* {{{ includes/startup/misc */
 @@ -151,7 +151,7 @@
 		compiled_string_description =  
zend_make_compiled_string_description(assert code TSRMLS_CC);
 		if (zend_eval_string(myeval, retval,  
compiled_string_description TSRMLS_CC) == FAILURE) {

efree(compiled_string_description);
-			php_error_docref(NULL TSRMLS_CC, E_ERROR, Failure evaluating  
code: %s%s, PHP_EOL, myeval);
+			php_error_docref(NULL TSRMLS_CC, E_RECOVERABLE_ERROR, Failure  
evaluating code: %s%s, PHP_EOL, myeval);

/* php_error_docref() does not return in this case. */
See this comment, not sure about E_RECOVERABLE_ERROR, but if does  
return, then
the comment does not hold any more and probably more has to be  
changed?



}
efree(compiled_string_description);


Regards,
Andrey



Ilia Alshanetsky

--
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/standard assert.c

2006-06-23 Thread Ilia Alshanetsky
iliaa   Fri Jun 23 11:37:53 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard   assert.c 
  Log:
  Change E_ERROR to E_RECOVERABLE_ERROR
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/assert.c?r1=1.60.2.3r2=1.60.2.3.2.1diff_format=u
Index: php-src/ext/standard/assert.c
diff -u php-src/ext/standard/assert.c:1.60.2.3 
php-src/ext/standard/assert.c:1.60.2.3.2.1
--- php-src/ext/standard/assert.c:1.60.2.3  Sun Jan  1 12:50:14 2006
+++ php-src/ext/standard/assert.c   Fri Jun 23 11:37:53 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: assert.c,v 1.60.2.3 2006/01/01 12:50:14 sniper Exp $ */
+/* $Id: assert.c,v 1.60.2.3.2.1 2006/06/23 11:37:53 iliaa Exp $ */
 
 /* {{{ includes/startup/misc */
 
@@ -151,7 +151,7 @@
compiled_string_description = 
zend_make_compiled_string_description(assert code TSRMLS_CC);
if (zend_eval_string(myeval, retval, 
compiled_string_description TSRMLS_CC) == FAILURE) {
efree(compiled_string_description);
-   php_error_docref(NULL TSRMLS_CC, E_ERROR, Failure 
evaluating code: %s%s, PHP_EOL, myeval);
+   php_error_docref(NULL TSRMLS_CC, E_RECOVERABLE_ERROR, 
Failure evaluating code: %s%s, PHP_EOL, myeval);
/* php_error_docref() does not return in this case. */
}
efree(compiled_string_description);

-- 
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/standard assert.c

2006-06-23 Thread Andrey Hristov

  Hi Ilia,
Ilia Alshanetsky wrote:

iliaa   Fri Jun 23 11:37:53 2006 UTC

  Modified files:  (Branch: PHP_5_2)
/php-src/ext/standard	assert.c 
  Log:

  Change E_ERROR to E_RECOVERABLE_ERROR
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/assert.c?r1=1.60.2.3r2=1.60.2.3.2.1diff_format=u

Index: php-src/ext/standard/assert.c
diff -u php-src/ext/standard/assert.c:1.60.2.3 
php-src/ext/standard/assert.c:1.60.2.3.2.1
--- php-src/ext/standard/assert.c:1.60.2.3  Sun Jan  1 12:50:14 2006
+++ php-src/ext/standard/assert.c   Fri Jun 23 11:37:53 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: assert.c,v 1.60.2.3 2006/01/01 12:50:14 sniper Exp $ */

+/* $Id: assert.c,v 1.60.2.3.2.1 2006/06/23 11:37:53 iliaa Exp $ */
 
 /* {{{ includes/startup/misc */
 
@@ -151,7 +151,7 @@

compiled_string_description = 
zend_make_compiled_string_description(assert code TSRMLS_CC);
if (zend_eval_string(myeval, retval, 
compiled_string_description TSRMLS_CC) == FAILURE) {
efree(compiled_string_description);
-   php_error_docref(NULL TSRMLS_CC, E_ERROR, Failure 
evaluating code: %s%s, PHP_EOL, myeval);
+   php_error_docref(NULL TSRMLS_CC, E_RECOVERABLE_ERROR, 
Failure evaluating code: %s%s, PHP_EOL, myeval);
/* php_error_docref() does not return in this case. */

See this comment, not sure about E_RECOVERABLE_ERROR, but if does return, then
the comment does not hold any more and probably more has to be changed?


}
efree(compiled_string_description);



Regards,
Andrey

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