Removed the need for the :flock constants from Fcntl in DBM/Deep.pm
[dbsrgits/DBM-Deep.git] / lib / DBM / Deep / Engine / Sector / BucketList.pm
index b76b2dd..008aa1e 100644 (file)
@@ -15,14 +15,11 @@ sub _init {
     my $engine = $self->engine;
 
     unless ( $self->offset ) {
-        my $leftover = $self->size - $self->base_size;
-
         $self->{offset} = $engine->_request_blist_sector( $self->size );
-        $engine->storage->print_at( $self->offset, $engine->SIG_BLIST ); # Sector type
-        # Skip staleness counter
-        $engine->storage->print_at( $self->offset + $self->base_size,
-            chr(0) x $leftover, # Zero-fill the data
-        );
+
+        my $string = chr(0) x $self->size;
+        substr( $string, 0, 1, $engine->SIG_BLIST );
+        $engine->storage->print_at( $self->offset, $string );
     }
 
     if ( $self->{key_md5} ) {
@@ -42,9 +39,8 @@ sub clear {
 sub size {
     my $self = shift;
     unless ( $self->{size} ) {
-        my $e = $self->engine;
         # Base + numbuckets * bucketsize
-        $self->{size} = $self->base_size + $e->max_buckets * $self->bucket_size;
+        $self->{size} = $self->base_size + $self->engine->max_buckets * $self->bucket_size;
     }
     return $self->{size};
 }