--- a/wp/wp-includes/random_compat/cast_to_int.php Wed Sep 21 18:19:35 2022 +0200
+++ b/wp/wp-includes/random_compat/cast_to_int.php Tue Sep 27 16:37:53 2022 +0200
@@ -5,7 +5,7 @@
*
* The MIT License (MIT)
*
- * Copyright (c) 2015 - 2017 Paragon Initiative Enterprises
+ * Copyright (c) 2015 - 2018 Paragon Initiative Enterprises
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -27,19 +27,19 @@
*/
if (!is_callable('RandomCompat_intval')) {
-
+
/**
* Cast to an integer if we can, safely.
- *
+ *
* If you pass it a float in the range (~PHP_INT_MAX, PHP_INT_MAX)
* (non-inclusive), it will sanely cast it to an int. If you it's equal to
* ~PHP_INT_MAX or PHP_INT_MAX, we let it fail as not an integer. Floats
* lose precision, so the <= and => operators might accidentally let a float
* through.
- *
+ *
* @param int|float $number The number we want to convert to an int
* @param bool $fail_open Set to true to not throw an exception
- *
+ *
* @return float|int
* @psalm-suppress InvalidReturnType
*
@@ -50,14 +50,16 @@
if (is_int($number) || is_float($number)) {
$number += 0;
} elseif (is_numeric($number)) {
+ /** @psalm-suppress InvalidOperand */
$number += 0;
}
+ /** @var int|float $number */
if (
is_float($number)
- &&
+ &&
$number > ~PHP_INT_MAX
- &&
+ &&
$number < PHP_INT_MAX
) {
$number = (int) $number;