Hash tests pass again with header being read and cached
[dbsrgits/DBM-Deep.git] / lib / DBM / Deep / Engine / Sector / Index.pm
index e937233..a7c9334 100644 (file)
@@ -26,11 +26,17 @@ sub _init {
 #XXX Why? -RobK, 2008-06-18
 sub size {
     my $self = shift;
-    unless ( $self->{size} ) {
-        my $e = $self->engine;
-        $self->{size} = $self->base_size + $e->byte_size * $e->hash_chars;
+    if ( ref($self) ) {
+        unless ( $self->{size} ) {
+            my $e = $self->engine;
+            $self->{size} = $self->base_size + $e->byte_size * $e->hash_chars;
+        }
+        return $self->{size};
+    }
+    else {
+        my $e = shift;
+        return $self->base_size($e) + $e->byte_size * $e->hash_chars;
     }
-    return $self->{size};
 }
 
 sub free_meth { return '_add_free_index_sector' }