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

ext/standard/basic_functions.c

index 2fb179c7b0c7c6b63c3cc0cc3d00b93bad857ca6..02114c8da17ad294c0dbd287b8d237ba100c0f4b 100644 (file)
@@ -1770,13 +1770,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
 }
 /* }}} */