]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/inspircd.cpp
Add <server:id> - this is optional, as stated in the example conf,
[user/henk/code/inspircd.git] / src / inspircd.cpp
index 9543ef8566996689bc77b3d5ab83ccc24a957df9..1618266c04b239f2f193bcbe3d5ae6eccd9ea54c 100644 (file)
@@ -544,11 +544,20 @@ InspIRCd::InspIRCd(int argc, char** argv)
 
        /* Generate SID */
         size_t sid = 0;
-       for (const char* x = Config->ServerName; *x; ++x)
-               sid = 5 * sid + *x;
-       for (const char* y = Config->ServerDesc; *y; ++y)
-               sid = 5 * sid + *y;
-       sid = sid % 999;
+       if (Config->sid)
+       {
+               sid = Config->sid;
+       }
+       else
+       {
+               for (const char* x = Config->ServerName; *x; ++x)
+                       sid = 5 * sid + *x;
+               for (const char* y = Config->ServerDesc; *y; ++y)
+                       sid = 5 * sid + *y;
+               sid = sid % 999;
+
+               Config->sid = sid;
+       }
        current_uid[0] = sid / 100 + 48;
        current_uid[1] = ((sid / 10) % 10) + 48;
        current_uid[2] = sid % 10 + 48;