Code Duplication    Length = 16-23 lines in 2 locations

Sources/Subs-Compat.php 1 location

@@ 162-177 (lines=16) @@
159
 * @param string $number
160
 * @return string The crc32 polynomial of $number
161
 */
162
if (!function_exists('smf_crc32'))
163
{
164
	function smf_crc32($number)
165
	{
166
		$crc = crc32($number);
167
168
		if ($crc & 0x80000000)
169
		{
170
			$crc ^= 0xffffffff;
171
			$crc += 1;
172
			$crc = -$crc;
173
		}
174
175
		return $crc;
176
	}
177
}
178
179
if (!is_callable('random_int')) {
180
    /**

Sources/Subs-Package.php 1 location

@@ 3098-3120 (lines=23) @@
3095
	return true;
3096
}
3097
3098
if (!function_exists('smf_crc32'))
3099
{
3100
	/**
3101
	 * crc32 doesn't work as expected on 64-bit functions - make our own.
3102
	 * https://php.net/crc32#79567
3103
	 *
3104
	 * @param string $number
3105
	 * @return string The crc32
3106
	 */
3107
	function smf_crc32($number)
3108
	{
3109
		$crc = crc32($number);
3110
3111
		if ($crc & 0x80000000)
3112
		{
3113
			$crc ^= 0xffffffff;
3114
			$crc += 1;
3115
			$crc = -$crc;
3116
		}
3117
3118
		return $crc;
3119
	}
3120
}
3121
3122
?>