File: nick.mpi

package info (click to toggle)
madoka 4.2.3-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 960 kB
  • ctags: 45
  • sloc: perl: 1,006; makefile: 45; sh: 4
file content (32 lines) | stat: -rw-r--r-- 850 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# madoka 4.2 sv_nick
#
# server/nick.mpi
#    Copyright(c)1998- cookie / The madoka project
#

sub sv_nick {
  my($from, $nick) = @_;
  if ($from eq $us_nick) {
    &mes("[!] nick changed ($from -> $nick)\n", 'ALL');
    $us_nick = $nick;
    $nickuse = 0;
    vec($us_state, 0, 2) = 0;
  } else {
    &mes("$from -> $nick\n", 'ALL');
  }
  for ($i = 0; $i <= $cl_max; $i++) {
    vec($cl_chan, $i, 1) = 1;
  }
  foreach (split(/$;/, $chl)) {
    next unless $_;
    &list_change($ls_mem{$_}, $from, $nick);
    &list_change($ls_mem{$_}, "\+$from", "\+$nick");
    &list_change($ls_mem{$_}, "\@$from", "\@$nick");
    $cl_chan &= $cl_chan{$_};
  }
  $machine{$nick} = $machine{$from};
  delete $machine{$from};
  &send('cch', ":$from!$where NICK :$nick\n");
  &op_nick($from, $nick) if vec($at_state, 2, 1);
  &plugin('NICK', 'ALL', $from, $nick);
}