]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/coremods/core_user/cmd_user.cpp
Replace most usages of "GECOS" with "real" or "real name".
[user/henk/code/inspircd.git] / src / coremods / core_user / cmd_user.cpp
index 37ac116df54280c8a660b28df13a0b061d4bd138..75fab929f5816f51b23678b72ef65916af759952 100644 (file)
 #include "inspircd.h"
 #include "core_user.h"
 
+enum
+{
+       // From ircu.
+       ERR_INVALIDUSERNAME = 468
+};
+
 CommandUser::CommandUser(Module* parent)
        : SplitCommand(parent, "USER", 4, 4)
 {
        works_before_reg = true;
        Penalty = 0;
-       syntax = "<username> <localhost> <remotehost> <GECOS>";
+       syntax = "<username> <localhost> <remotehost> <realname>";
 }
 
-CmdResult CommandUser::HandleLocal(const std::vector<std::string>& parameters, LocalUser *user)
+CmdResult CommandUser::HandleLocal(LocalUser* user, const Params& parameters)
 {
        /* A user may only send the USER command once */
        if (!(user->registered & REG_USER))
        {
                if (!ServerInstance->IsIdent(parameters[0]))
                {
-                       /*
-                        * RFC says we must use this numeric, so we do. Let's make it a little more nub friendly though. :)
-                        *  -- Craig, and then w00t.
-                        */
-                       user->WriteNumeric(ERR_NEEDMOREPARAMS, name, "Your username is not valid");
+                       user->WriteNumeric(ERR_INVALIDUSERNAME, name, "Your username is not valid");
                        return CMD_FAILURE;
                }
                else
                {
-                       /*
-                        * The ident field is IDENTMAX+2 in size to account for +1 for the optional
-                        * ~ character, and +1 for null termination, therefore we can safely use up to
-                        * IDENTMAX here.
-                        */
                        user->ChangeIdent(parameters[0]);
-                       user->fullname.assign(parameters[3].empty() ? "No info" : parameters[3], 0, ServerInstance->Config->Limits.MaxGecos);
+                       user->fullname.assign(parameters[3].empty() ? "No info" : parameters[3], 0, ServerInstance->Config->Limits.MaxReal);
                        user->registered = (user->registered | REG_USER);
                }
        }