diff options
Diffstat (limited to 'modules/node/node.module')
-rw-r--r-- | modules/node/node.module | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/node/node.module b/modules/node/node.module index de76ae1ba..c370c368a 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -479,11 +479,12 @@ function node_load($param = array(), $revision = NULL, $reset = NULL) { $nodes = array(); } + $cachable = FALSE; $arguments = array(); if (is_numeric($param)) { $cachable = $revision == NULL; if ($cachable && isset($nodes[$param])) { - return drupal_clone($nodes[$param]); + return is_object($nodes[$param]) ? drupal_clone($nodes[$param]) : $nodes[$param]; } $cond = 'n.nid = %d'; $arguments[] = $param; @@ -524,7 +525,7 @@ function node_load($param = array(), $revision = NULL, $reset = NULL) { } if ($cachable) { - $nodes[$param] = drupal_clone($node); + $nodes[$param] = is_object($node) ? drupal_clone($node) : $node; } return $node; |