X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FEditable.pm;h=0655fcf6a1629050cf9b7fbbb64d75dff7261b1b;hb=7b8a8931b9fe531868777d5168b9a35baf37f0d9;hp=b0b4e2627cbcf6d08f4789e1ce6b263635af8073;hpb=2ea216bfaf03964488c54d88fad75ce6cd5a5612;p=spider.git diff --git a/perl/Editable.pm b/perl/Editable.pm index b0b4e262..0655fcf6 100644 --- a/perl/Editable.pm +++ b/perl/Editable.pm @@ -8,23 +8,68 @@ # # Copyright (c) 2001 Dirk Koopman G1TLH # -# $Id$ +# # package Editable; -use vars qw($VERSION $BRANCH); -$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ ); -$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0; -$main::build += $VERSION; -$main::branch += $BRANCH; +use strict; + +use DXChannel; +use DXDebug; +use BadWords; sub new { my $pkg = shift; my $class = ref $pkg || $pkg; - return {}, $class; + return {@_}, $class; +} + +sub copy +{ + my $self = shift; + return $self->new(%$self); +} + +sub addline +{ + my $self = shift; + my $dxchan = shift; + my $line = shift; + + if (my @ans = BadWord::check($line)) { + return ($dxchan->msg('e17', @ans)); + } + push @{$self->{lines}}, $line; + return (); +} + +sub modline +{ + my $self = shift; + my $dxchan = shift; + my $no = shift; + my $line = shift; + + if (my @ans = BadWord::check($line)) { + return ($dxchan->msg('e17', @ans)); + } + ${$self->{lines}}[$no] = $line; + return (); +} + +sub lines +{ + my $self = shift; + return exists $self->{lines} ? (@{$self->{lines}}) : (); +} + +sub nolines +{ + my $self = shift; + return exists $self->{lines} ? scalar @{$self->{lines}} : 0; } 1;