projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix typo
[spider.git]
/
perl
/
RingBuf.pm
diff --git
a/perl/RingBuf.pm
b/perl/RingBuf.pm
index e9b1052a92f8e42566b02b91aa608c6cd69c7116..b55c19aae908c7a74c5fdea3339bfac97557f7a2 100644
(file)
--- a/
perl/RingBuf.pm
+++ b/
perl/RingBuf.pm
@@
-28,7
+28,7
@@
sub new
# 3 - start
# 4 - pos
# 5 - buffer []
# 3 - start
# 4 - pos
# 5 - buffer []
- return bless [$size, 0, 0, 0, 0, []], (ref $pkg || $pkg);
+ return bless [$size
+1
, 0, 0, 0, 0, []], (ref $pkg || $pkg);
}
sub write
}
sub write
@@
-37,10
+37,7
@@
sub write
$self->[5]->[$self->[2]++] = shift;
$self->[2] = 0 if $self->[2] >= $self->[0];
$self->[5]->[$self->[2]++] = shift;
$self->[2] = 0 if $self->[2] >= $self->[0];
- if ($self->[1] < $self->[0]) {
- $self->[1] = ++$self->[1];
- }
- $self->[2] = $self->[2];
+ $self->[1]++ if $self->[1] < $self->[0];
if ($self->[1] == $self->[0] && $self->[2] == $self->[3]) {
$self->[3] = $self->[2]+1;
$self->[3] = 0 if $self->[3] >= $self->[0];
if ($self->[1] == $self->[0] && $self->[2] == $self->[3]) {
$self->[3] = $self->[2]+1;
$self->[3] = 0 if $self->[3] >= $self->[0];