summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rbot/botuser.rb2
-rw-r--r--lib/rbot/irc.rb3
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/rbot/botuser.rb b/lib/rbot/botuser.rb
index a4bec708..8fa04fc5 100644
--- a/lib/rbot/botuser.rb
+++ b/lib/rbot/botuser.rb
@@ -461,7 +461,7 @@ class Bot
# Adds a Netmask
#
def add_netmask(mask)
- m = mask.to_irc_netmask
+ m = mask.to_irc_netmask(:server => nil,:force => true)
@netmasks << m
if self.autologin?
Auth.manager.maskdb.add(self, m)
diff --git a/lib/rbot/irc.rb b/lib/rbot/irc.rb
index 72579b19..0be26a00 100644
--- a/lib/rbot/irc.rb
+++ b/lib/rbot/irc.rb
@@ -214,6 +214,7 @@ module Irc
h = {}
h[:server] = @server if defined?(@server) and @server
h[:casemap] = @casemap if defined?(@casemap) and @casemap
+ h[:casemap] ||= @server.casemap if defined?(@server) and @server
return h
end
@@ -682,7 +683,7 @@ module Irc
# Subclasses of Netmask will return a new Netmask, using full_downcase
#
def to_irc_netmask(opts={})
- if self.class == Netmask
+ if self.class == Netmask and not opts[:force]
return self if fits_with_server_and_casemap?(opts)
end
return self.full_downcase.to_irc_netmask(server_and_casemap.merge(opts))