summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-12-07 18:31:48 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-12-07 18:31:48 +0000
commit3c2c0b7733c0d752bdab4d42a33a3a777266b90a (patch)
tree979dff8c1133d406e3aefe09069120a85e5617fb
parentffb733879cecfe07c14fc84205cfa2b644e35c4f (diff)
Add InspIRCd::national_case_sensitive_map pointer, defaults to rfc_case_insensitive_map.
Modules may override this pointer to customise casemapping of nick/channel names. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10856 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--include/inspircd.h8
-rw-r--r--src/inspircd.cpp1
2 files changed, 9 insertions, 0 deletions
diff --git a/include/inspircd.h b/include/inspircd.h
index 85c2f62e6..59e840b7b 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -402,6 +402,14 @@ class CoreExport InspIRCd : public classbase
*/
User* FakeClient;
+ /** Seperate from the other casemap tables so that code *can* still exclusively rely on RFC casemapping
+ * if it must.
+ *
+ * This is provided as a pointer so that modules can change it to their custom mapping tables,
+ * e.g. for national character support.
+ */
+ unsigned const char *national_case_sensitive_map;
+
/** Returns the next available UID for this server.
*/
std::string GetUID();
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 4d112b314..1f323e023 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -444,6 +444,7 @@ InspIRCd::InspIRCd(int argc, char** argv)
this->XLines = 0;
this->Modes = 0;
this->Res = 0;
+ this->national_case_sensitive_map = rfc_case_insensitive_map;
// Initialise TIME
this->TIME = time(NULL);