$segused_currentpt= undef;
}
+sub segment_used__len ($$);
sub segment_used__len ($$) {
my ($used,$pt) = @_;
$segused_incurrent += $used;
$segments[1] -= $used;
return if $segments[1] > 0;
+ my $defer= -$segments[1];
+ $segused_incurrent -= $defer;
+
segment_used__print($pt);
segment_used_begin($pt);
@segments= @segments[2..$#segments];
o("% segments @segments\n");
+
+ if (@segments > 2 && $defer > $segments[1]) {
+ warn "will recursively end two segments at same point";
+ }
+ segment_used__len($defer,$pt);
}
sub segment_state_save () {