]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/users.cpp
Show a better warning when certtool/openssl are missing.
[user/henk/code/inspircd.git] / src / users.cpp
index 573d4db904c40e48007506a5ef84044f5f26075a..418f2c9aa3557f187e45eb189c892a07b154970c 100644 (file)
@@ -637,7 +637,7 @@ void OperInfo::init()
                        {
                                this->AllowedUserModes.set();
                        }
-                       else if (*c >= 'A' && *c < 'z')
+                       else if (*c >= 'A' && *c <= 'z')
                        {
                                this->AllowedUserModes[*c - 'A'] = true;
                        }
@@ -650,7 +650,7 @@ void OperInfo::init()
                        {
                                this->AllowedChanModes.set();
                        }
-                       else if (*c >= 'A' && *c < 'z')
+                       else if (*c >= 'A' && *c <= 'z')
                        {
                                this->AllowedChanModes[*c - 'A'] = true;
                        }
@@ -1321,26 +1321,19 @@ void User::SendText(const char *text, ...)
 
 void User::SendText(const std::string &LinePrefix, std::stringstream &TextStream)
 {
-       char line[MAXBUF];
-       int start_pos = LinePrefix.length();
-       int pos = start_pos;
-       memcpy(line, LinePrefix.data(), pos);
+       std::string line;
        std::string Word;
        while (TextStream >> Word)
        {
-               int len = Word.length();
-               if (pos + len + 12 > MAXBUF)
+               size_t lineLength = LinePrefix.length() + line.length() + Word.length() + 13;
+               if (lineLength > MAXBUF)
                {
-                       line[pos] = '\0';
-                       SendText(std::string(line));
-                       pos = start_pos;
+                       SendText(LinePrefix + line);
+                       line.clear();
                }
-               line[pos] = ' ';
-               memcpy(line + pos + 1, Word.data(), len);
-               pos += len + 1;
+               line += " " + Word;
        }
-       line[pos] = '\0';
-       SendText(std::string(line));
+       SendText(LinePrefix + line);
 }
 
 /* return 0 or 1 depending if users u and u2 share one or more common channels