summaryrefslogtreecommitdiff
path: root/modules/node/node.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/node/node.module')
-rw-r--r--modules/node/node.module5
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;