--- deliantra/server/ext/tcp.ext 2012/11/06 03:45:17 1.26 +++ deliantra/server/ext/tcp.ext 2012/11/06 16:17:23 1.27 @@ -22,7 +22,7 @@ sub register($$$$) { my ($name, $max_detect, $detect, $serve) = @_; - $DETECTORS{$name} = [$max_detect, $detect, $serve]; + $DETECTORS{$name} = [$max_detect, $detect, $serve, $name]; _update_detectors; Guard::guard { @@ -61,10 +61,10 @@ if ($len) { for ($buf) { - while (my ($name, $v) = each %DETECTORS) { + for my $v (values %DETECTORS) { if (my $cb = $v->[1]()) { undef $w; - cf::debug "$id: detected protocol $name.\n"; + cf::debug "$id: detected protocol $v->[3].\n"; $v->[2]($id, $fh, $buf); return; }