]> granicus.if.org Git - php/commitdiff
- Fix for bug #14646, floor() always returns a float now.
authorDerick Rethans <derick@php.net>
Fri, 21 Dec 2001 16:38:49 +0000 (16:38 +0000)
committerDerick Rethans <derick@php.net>
Fri, 21 Dec 2001 16:38:49 +0000 (16:38 +0000)
ext/standard/math.c

index 484809982e1c8e40d4a9dce50749ad7dd8e336c2..ba1df9937d32d9c2bcce9190c97763fe676b7554 100644 (file)
@@ -82,7 +82,6 @@ PHP_FUNCTION(ceil)
 /* }}} */
 /* {{{ proto float floor(float number)
    Returns the next lowest integer value from the number */
-
 PHP_FUNCTION(floor)
 {
        zval **value;
@@ -96,7 +95,8 @@ PHP_FUNCTION(floor)
        if (Z_TYPE_PP(value) == IS_DOUBLE) {
                RETURN_DOUBLE(floor(Z_DVAL_PP(value)));
        } else if (Z_TYPE_PP(value) == IS_LONG) {
-               RETURN_LONG(Z_LVAL_PP(value));
+               convert_to_double_ex(value);
+               RETURN_DOUBLE(Z_DVAL_PP(value));
        }
 
        RETURN_FALSE;