Update of /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-Scintilla
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16697/Win32-GUI-Scintilla
Modified Files:
Scintilla.PL
Log Message:
Fix some buffer size issues
Index: Scintilla.PL
===================================================================
RCS file: /cvsroot/perl-win32-gui/Win32-GUI/Win32-GUI-Scintilla/Scintilla.PL,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Scintilla.PL 15 Oct 2006 14:07:46 -0000 1.5
--- Scintilla.PL 15 Jul 2007 19:08:40 -0000 1.6
***************
*** 197,205 ****
$self->SetUndoCollection(0);
! open F, "<$file" or return 0;
! while ( <F> ) {
$self->AppendText($_);
}
! close F;
$self->SetUndoCollection(1);
--- 197,205 ----
$self->SetUndoCollection(0);
! open my $fh, "<$file" or return 0;
! while ( <$fh> ) {
$self->AppendText($_);
}
! close $fh;
$self->SetUndoCollection(1);
***************
*** 218,228 ****
my ($self, $file) = @_;
! open F, ">$file" or return 0;
! for my $i (0..$self->GetLineCount()) {
! print F $self->GetLine ($i);
}
! close F;
$self->SetSavePoint();
--- 218,228 ----
my ($self, $file) = @_;
! open my $fh, ">$file" or return 0;
! for my $i (0 .. ($self->GetLineCount() - 1)) {
! print $fh $self->GetLine ($i);
}
! close $fh;
$self->SetSavePoint();
***************
*** 389,395 ****
print ' my ($self) = @_;',"\n";
print ' my $line = $self->GetLineFromPosition
($self->GetCurrentPos());',"\n";
! print ' my $lenght = $self->LineLength($line);',"\n";
! print ' my $text = " " x ($lenght+1);',"\n\n";
! print ' if ($self->SendMessageNP (2027, $lenght, $text)) {',"\n";
print ' return $text;',"\n";
print ' } else {',"\n";
--- 389,395 ----
print ' my ($self) = @_;',"\n";
print ' my $line = $self->GetLineFromPosition
($self->GetCurrentPos());',"\n";
! print ' my $length = $self->LineLength($line);',"\n";
! print ' my $text = " " x $length;',"\n\n";
! print ' if ($self->SendMessageNP (2027, $length, $text)) {',"\n";
print ' return $text;',"\n";
print ' } else {',"\n";
***************
*** 403,408 ****
print 'sub GetLine {', "\n";
print ' my ($self, $line) = @_;', "\n";
! print ' my $lenght = $self->LineLength($line);', "\n";
! print ' my $text = " " x ($lenght + 1);', "\n\n";
print ' if ($self->SendMessageNP (2153, $line, $text)) {', "\n";
print ' return $text;', "\n";
--- 403,408 ----
print 'sub GetLine {', "\n";
print ' my ($self, $line) = @_;', "\n";
! print ' my $length = $self->LineLength($line);', "\n";
! print ' my $text = " " x $length;', "\n\n";
print ' if ($self->SendMessageNP (2153, $line, $text)) {', "\n";
print ' return $text;', "\n";
***************
*** 464,474 ****
print 'sub GetText {', "\n";
print ' my $self = shift;', "\n";
! print ' my $lenght = $self->GetTextLength() + 1;', "\n";
! print ' my $text = " " x ($lenght+1);', "\n\n";
! print ' if ($self->SendMessageNP (2182, $lenght, $text)) {', "\n";
! print ' return $text;', "\n";
! print ' } else {', "\n";
! print ' return undef;', "\n";
! print ' }', "\n";
print '}', "\n";
}
--- 464,472 ----
print 'sub GetText {', "\n";
print ' my $self = shift;', "\n";
! print ' my $length = $self->SendMessageNN(2182, 0, 0); # includes
trailing NUL', "\n";
! print ' my $text = " " x $length;', "\n\n";
! print ' $self->SendMessageNP (2182, $length, $text);', "\n";
! print ' $text =~ s/.$//; # remove trailing NUL (regexp is faster
than sbstr)', "\n";
! print ' return $text;', "\n";
print '}', "\n";
}
***************
*** 487,491 ****
print ' return $pos unless defined wantarray;', "\n";
print ' my @res = unpack("LLpLL", $texttofind);', "\n";
! print ' return ($res[3], $res[4]); # pos , lenght', "\n";
print '}', "\n";
}
--- 485,489 ----
print ' return $pos unless defined wantarray;', "\n";
print ' my @res = unpack("LLpLL", $texttofind);', "\n";
! print ' return ($res[3], $res[4]); # pos , length', "\n";
print '}', "\n";
}
***************
*** 705,709 ****
# find out if we are folding or unfolding
! for $lineNum (1..$lineCount) {
if ($self->GetFoldLevel($lineNum) &
Win32::GUI::Scintilla::SC_FOLDLEVELHEADERFLAG) {
$expanding = not $self->GetFoldExpanded($lineNum);
--- 703,707 ----
# find out if we are folding or unfolding
! for $lineNum (1..$lineCount) { # XXX Should this be 0 .. $linecount - 1
???
if ($self->GetFoldLevel($lineNum) &
Win32::GUI::Scintilla::SC_FOLDLEVELHEADERFLAG) {
$expanding = not $self->GetFoldExpanded($lineNum);