]> granicus.if.org Git - php/commitdiff
MFH: improve usleep(): use new param parsing API, check for negative values
authorAntony Dovgal <tony2001@php.net>
Thu, 16 Feb 2006 10:13:52 +0000 (10:13 +0000)
committerAntony Dovgal <tony2001@php.net>
Thu, 16 Feb 2006 10:13:52 +0000 (10:13 +0000)
(related to #36410)

ext/standard/basic_functions.c

index 0506aedefe30228bccde85573f321a0eab0a3e8c..90e52db813f8c72f5be18ecee3df2bd3b3c8ce93 100644 (file)
@@ -1766,13 +1766,16 @@ PHP_FUNCTION(sleep)
 PHP_FUNCTION(usleep)
 {
 #if HAVE_USLEEP
-       zval **num;
+       long num;
 
-       if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &num) == FAILURE) {
-               WRONG_PARAM_COUNT;
+       if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &num) == FAILURE) {
+               return;
        }
-       convert_to_long_ex(num);
-       usleep(Z_LVAL_PP(num));
+       if (num < 0) {
+               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Number of microseconds must be greater than or equal to 0");
+               RETURN_FALSE;
+       }
+       usleep(num);
 #endif
 }
 /* }}} */