Added Cyg-Win
This commit is contained in:
parent
82cbc206eb
commit
413c315806
10586 changed files with 3806249 additions and 0 deletions
|
|
@ -0,0 +1,54 @@
|
|||
package ExtUtils::ParseXS::CountLines;
|
||||
use strict;
|
||||
|
||||
our $VERSION = '3.51';
|
||||
|
||||
our $SECTION_END_MARKER;
|
||||
|
||||
sub TIEHANDLE {
|
||||
my ($class, $cfile, $fh) = @_;
|
||||
$cfile =~ s/\\/\\\\/g;
|
||||
$cfile =~ s/"/\\"/g;
|
||||
$SECTION_END_MARKER = qq{#line --- "$cfile"};
|
||||
|
||||
return bless {
|
||||
buffer => '',
|
||||
fh => $fh,
|
||||
line_no => 1,
|
||||
}, $class;
|
||||
}
|
||||
|
||||
sub PRINT {
|
||||
my $self = shift;
|
||||
for (@_) {
|
||||
$self->{buffer} .= $_;
|
||||
while ($self->{buffer} =~ s/^([^\n]*\n)//) {
|
||||
my $line = $1;
|
||||
++$self->{line_no};
|
||||
$line =~ s|^\#line\s+---(?=\s)|#line $self->{line_no}|;
|
||||
print {$self->{fh}} $line;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub PRINTF {
|
||||
my $self = shift;
|
||||
my $fmt = shift;
|
||||
$self->PRINT(sprintf($fmt, @_));
|
||||
}
|
||||
|
||||
sub DESTROY {
|
||||
# Not necessary if we're careful to end with a "\n"
|
||||
my $self = shift;
|
||||
print {$self->{fh}} $self->{buffer};
|
||||
}
|
||||
|
||||
sub UNTIE {
|
||||
# This sub does nothing, but is necessary for references to be released.
|
||||
}
|
||||
|
||||
sub end_marker {
|
||||
return $SECTION_END_MARKER;
|
||||
}
|
||||
|
||||
1;
|
||||
Loading…
Add table
Add a link
Reference in a new issue