swh:1:snp:a4c99a50dc49f82b591f268001b320f8c3ca0041
Raw File
Tip revision: ce60f670aac0a708d3a9af5f0cf46a752d46ba8a authored by John M Chambers on 28 October 2020, 07:59:48 UTC
version 1.0-6.1
Tip revision: ce60f67
chunks.perl
sub chunks_add {
    my($tref, @chunks) = @_;
    my($chunk);

    foreach $chunk (@chunks) {
      $$tref{$chunk} = $$tref{$chunk} + 1;
    }
    return $tref;
  }

sub chunks_drop {
    my($tref, @chunks) = @_;
    my( $chunk, $count);

    foreach $chunk (@chunks) {
      $count = $$tref{$chunk} - 1;

      if($count > 0) { $$tref{$chunk} = $count;}
      elsif ($count == 0)  {delete $$tref{$chunk}; }
      else {die "Decrementing a chunk (\"$chunk\") not in the table";}
    }
    return $tref;
  }
back to top