X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBM%2FDeep%2FEngine%2FSector%2FIndex.pm;h=a7c9334e7c2868fc330d0528b12dd4ab617eeb8c;hb=badf847ca0fd2a37bf21caf92454a92d568e3ccf;hp=e937233b7a5b8ba47d5668bf8d40d23ef73a466f;hpb=80656ce3c356053e563c882733b5bf66307c9c20;p=dbsrgits%2FDBM-Deep.git diff --git a/lib/DBM/Deep/Engine/Sector/Index.pm b/lib/DBM/Deep/Engine/Sector/Index.pm index e937233..a7c9334 100644 --- a/lib/DBM/Deep/Engine/Sector/Index.pm +++ b/lib/DBM/Deep/Engine/Sector/Index.pm @@ -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' }