summaryrefslogtreecommitdiff
path: root/modules/user/user.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/user.module')
-rw-r--r--modules/user/user.module5
1 files changed, 4 insertions, 1 deletions
diff --git a/modules/user/user.module b/modules/user/user.module
index 2772b5ffb..a244ea887 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -679,7 +679,10 @@ function user_role_permissions($roles = array()) {
*/
function user_access($string, $account = NULL) {
global $user;
- $perm = &drupal_static(__FUNCTION__, array());
+ // Use the advanced drupal_static() pattern, since this is called very often.
+ static $drupal_static = array();
+ isset($drupal_static[__FUNCTION__]) || ($drupal_static[__FUNCTION__] = &drupal_static(__FUNCTION__));
+ $perm = &$drupal_static[__FUNCTION__];
if (!isset($account)) {
$account = $user;