From b59698aa102b6e6c3d86cb4ec875386e4b9018a7 Mon Sep 17 00:00:00 2001 From: Ludovic Arnaud Date: Wed, 2 Jul 2003 22:23:45 +0000 Subject: [PATCH] Shifting bits appears to be faster than the pow() function git-svn-id: file:///svn/phpbb/trunk@4190 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/includes/bbcode.php | 12 ++++++------ phpBB/includes/message_parser.php | 8 +------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/phpBB/includes/bbcode.php b/phpBB/includes/bbcode.php index 318a495858..18b5e961a7 100644 --- a/phpBB/includes/bbcode.php +++ b/phpBB/includes/bbcode.php @@ -35,18 +35,18 @@ class bbcode } } - function bbcode_second_pass(&$message, $bbcode_uid = '', $bbcode_bitfield = '') + function bbcode_second_pass(&$message, $bbcode_uid = '', $bbcode_bitfield = FALSE) { if ($bbcode_uid) { $this->bbcode_uid = $bbcode_uid; } - if ($bbcode_bitfield) + if ($bbcode_bitfield !== FALSE) { $this->bbcode_bitfield = $bbcode_bitfield; } - elseif (!$this->bbcode_bitfield) + if (!$this->bbcode_bitfield) { return $message; } @@ -62,7 +62,7 @@ class bbcode $bitlen = strlen(decbin($this->bbcode_bitfield)); for ($bbcode_id = 0; $bbcode_id < $bitlen; ++$bbcode_id) { - if ($this->bbcode_bitfield & pow(2, $bbcode_id)) + if ($this->bbcode_bitfield & (1 << $bbcode_id)) { foreach ($this->bbcode_cache[$bbcode_id] as $type => $array) { @@ -105,7 +105,7 @@ class bbcode for ($bbcode_id = 0; $bbcode_id < $bitlen; ++$bbcode_id) { - if (isset($this->bbcode_cache[$bbcode_id]) || !($this->bbcode_bitfield & pow(2, $bbcode_id))) + if (isset($this->bbcode_cache[$bbcode_id]) || !($this->bbcode_bitfield & (1 << $bbcode_id))) { // do not try to re-cache it if it's already in continue; @@ -276,7 +276,7 @@ class bbcode ); } - if ($bbcode_id != -1 && !($user->theme['bbcode_bitfield'] & pow(2, $bbcode_id))) + if ($bbcode_id != -1 && !($user->theme['bbcode_bitfield'] & (1 << $bbcode_id))) { return $bbcode_hardtpl[$tpl_name]; } diff --git a/phpBB/includes/message_parser.php b/phpBB/includes/message_parser.php index e05f7c8de4..63c8e266d5 100644 --- a/phpBB/includes/message_parser.php +++ b/phpBB/includes/message_parser.php @@ -180,12 +180,6 @@ class parse_message foreach ($bbcode_data['regexp'] as $regexp => $replacement) { $this->message = preg_replace($regexp, $replacement, $this->message); - - if (is_array($this->message)) - { - $this->warn_msg[] = $this->message['error_msg']; - $this->message = $this->message['message']; - } } } @@ -193,7 +187,7 @@ class parse_message $new_size = strlen($this->message); if ($size != $new_size) { - $this->bbcode_bitfield += pow(2, $bbcode_data['bbcode_id']); + $this->bbcode_bitfield |= (1 << $bbcode_data['bbcode_id']); $size = $new_size; } }