]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/command/vote.qc
Limit maximum length of vote commands to 160 by default
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / command / vote.qc
index dcbf4f32e2bc5d26bbb790ca32820b835030a2ae..c7010dfb756369a47cd41aff93425d567d69bfc4 100644 (file)
@@ -668,6 +668,18 @@ float VoteCommand_parse(entity caller, string vote_command, string vote_list, fl
        
        first_command = argv(startpos);
 
+       /*dprint(sprintf("VoteCommand_parse(): Command: '%s', Length: %f.\n",
+               substring(vote_command, argv_start_index(startpos), strlen(vote_command) - argv_start_index(startpos)),
+               strlen(substring(vote_command, argv_start_index(startpos), strlen(vote_command) - argv_start_index(startpos)))
+       ));*/
+
+       if(
+               (autocvar_sv_vote_limit > 0)
+               &&
+               (strlen(substring(vote_command, argv_start_index(startpos), strlen(vote_command) - argv_start_index(startpos))) > autocvar_sv_vote_limit)
+       )
+               return FALSE;
+
        if not(VoteCommand_checkinlist(first_command, vote_list))
                return FALSE;
 
@@ -1067,8 +1079,8 @@ void VoteCommand_(float request)
 void VoteCommand_macro_help(entity caller, float argc)
 {
        string command_origin = GetCommandPrefix(caller);
-       
-       if(argc == 2) // help display listing all commands
+
+       if(argc == 2 || argv(2) == "help") // help display listing all commands
        {
                print_to(caller, "\nVoting commands:\n");
                #define VOTE_COMMAND(name,function,description,assignment) \