… | |
… | |
1616 | sub { |
1616 | sub { |
1617 | # when we can use 5.10 we can use ".", but for 5.8 we use the re-pack method |
1617 | # when we can use 5.10 we can use ".", but for 5.8 we use the re-pack method |
1618 | defined (my $len = eval { unpack $format, $_[0]{rbuf} }) |
1618 | defined (my $len = eval { unpack $format, $_[0]{rbuf} }) |
1619 | or return; |
1619 | or return; |
1620 | |
1620 | |
1621 | warn "len $len\n";#d# |
|
|
1622 | $format = length pack $format, $len; |
1621 | $format = length pack $format, $len; |
1623 | warn "len2 $format\n";#d# |
|
|
1624 | |
1622 | |
1625 | # bypass unshift if we already have the remaining chunk |
1623 | # bypass unshift if we already have the remaining chunk |
1626 | if ($format + $len <= length $_[0]{rbuf}) { |
1624 | if ($format + $len <= length $_[0]{rbuf}) { |
1627 | my $data = substr $_[0]{rbuf}, $format, $len; |
1625 | my $data = substr $_[0]{rbuf}, $format, $len; |
1628 | substr $_[0]{rbuf}, 0, $format + $len, ""; |
1626 | substr $_[0]{rbuf}, 0, $format + $len, ""; |