more check stuff
[spider.git] / perl / DXChannel.pm
index 2758e64dd3a1f8c54fd65998fbee065ee2f6a51a..7a27a8f2bc3bd3a90eda6efaaf388e9c6bc312fc 100644 (file)
@@ -86,6 +86,7 @@ use vars qw(%channels %valid);
                  pingtime => '5,Ping totaltime,parray',
                  pingave => '0,Ping ave time',
                  logininfo => '9,Login info req,yesno',
+                 talklist => '0,Talk List,parray',
                 );
 
 # object destruction
@@ -285,7 +286,7 @@ sub send_now
        my $call = $self->{call};
        
        for (@_) {
-               chomp;
+#              chomp;
         my @lines = split /\n/;
                for (@lines) {
                        $conn->send_now("$sort$call|$_");
@@ -306,7 +307,7 @@ sub send                                            # this is always later and always data
        my $call = $self->{call};
 
        for (@_) {
-               chomp;
+#              chomp;
         my @lines = split /\n/;
                for (@lines) {
                        $conn->send_later("D$call|$_");
@@ -361,7 +362,7 @@ sub state
                dbg('state', "$self->{call} channel func $self->{func} state $self->{oldstate} -> $self->{state}\n");
 
                # if there is any queued up broadcasts then splurge them out here
-               if ($self->{delayed} && ($self->{state} eq 'prompt' || $self->{state} eq 'convers')) {
+               if ($self->{delayed} && ($self->{state} eq 'prompt' || $self->{state} eq 'talk')) {
                        $self->send (@{$self->{delayed}});
                        delete $self->{delayed};
                }
@@ -465,8 +466,13 @@ sub AUTOLOAD
        $name =~ s/.*:://o;
   
        confess "Non-existant field '$AUTOLOAD'" if !$valid{$name};
-       @_ ? $self->{$name} = shift : $self->{$name} ;
+
+       # this clever line of code creates a subroutine which takes over from autoload
+       # from OO Perl - Conway
+       *{$AUTOLOAD} = sub {@_ > 1 ? $_[0]->{$name} = $_[1] : $_[0]->{$name}} ;
+    @_ ? $self->{$name} = shift : $self->{$name} ;
 }
 
+
 1;
 __END__;