merge with xchat r1492
This commit is contained in:
		
						commit
						62d32a125d
					
				
					 2 changed files with 12 additions and 4 deletions
				
			
		|  | @ -212,19 +212,26 @@ sub hook_print { | |||
| 		my $cb = $callback; | ||||
| 		$callback = sub { | ||||
| 			my @args = @{$_[0]}; | ||||
| 			my $event_data = $_[1]; | ||||
| 			my $event_name = $event; | ||||
| 			my $last_arg = @args - 1; | ||||
| 
 | ||||
| 			my @new = $cb->( \@args, $_[1], $event ); | ||||
| 			my @new = $cb->( \@args, $event_data, $event_name ); | ||||
| 
 | ||||
| 			# allow changing event by returning the new value | ||||
| 			if( @new > @args ) { | ||||
| 				$event_name = pop @new; | ||||
| 			} | ||||
| 
 | ||||
| 			# a filter can either return the new results or it can modify | ||||
| 			# @_ in place.  | ||||
| 			if( @new ) { | ||||
| 				emit_print( $event, @new[ 0 .. $last_arg ] ); | ||||
| 			if( @new == @args ) { | ||||
| 				emit_print( $event_name, @new[ 0 .. $last_arg ] ); | ||||
| 				return EAT_ALL; | ||||
| 			} elsif( | ||||
| 				join( "\0", @{$_[0]} ) ne join( "\0", @args[ 0 .. $last_arg ] ) | ||||
| 			) { | ||||
| 				emit_print( $event, @args[ 0 .. $last_arg ] ); | ||||
| 				emit_print( $event_name, @args[ 0 .. $last_arg ] ); | ||||
| 				return EAT_ALL; | ||||
| 			} | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,6 +13,7 @@ sub get { | |||
| 			(!defined $last_modified || $last_modified != -M $server_file ) ) { | ||||
| 		$last_modified = -M _; | ||||
| 
 | ||||
| 		@servers = (); | ||||
| 		if( open my $fh, "<", $server_file ) { | ||||
| 			local $/ = "\n\n"; | ||||
| 			while( my $record = <$fh> ) { | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue