From 07bd0a59288c1a4650227413e3a6e9099e8af30c Mon Sep 17 00:00:00 2001 From: div0 Date: Mon, 29 Dec 2008 19:12:40 +0000 Subject: [PATCH] ensure max 63 chars player name git-svn-id: svn://svn.icculus.org/nexuiz/trunk@5354 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/menu/item/inputbox.c | 3 +++ data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c | 1 + 2 files changed, 4 insertions(+) diff --git a/data/qcsrc/menu/item/inputbox.c b/data/qcsrc/menu/item/inputbox.c index a0d7c5791..16d2cf401 100644 --- a/data/qcsrc/menu/item/inputbox.c +++ b/data/qcsrc/menu/item/inputbox.c @@ -25,6 +25,7 @@ CLASS(InputBox) EXTENDS(Label) ATTRIB(InputBox, forbiddenCharacters, string, "") ATTRIB(InputBox, color, vector, '1 1 1') ATTRIB(InputBox, colorF, vector, '1 1 1') + ATTRIB(InputBox, maxLength, float, 255) ENDCLASS(InputBox) void InputBox_Clear_Click(entity btn, entity me); #endif @@ -78,6 +79,8 @@ void enterTextInputBox(entity me, string ch) for(i = 0; i < strlen(ch); ++i) if(strstrofs(me.forbiddenCharacters, substring(ch, i, 1), 0) > -1) return; + if(strlen(ch) + strlen(me.text) > me.maxLength) + return; me.setText(me, strcat(substring(me.text, 0, me.cursorPos), ch, substring(me.text, me.cursorPos, strlen(me.text) - me.cursorPos))); me.cursorPos += strlen(ch); } diff --git a/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c b/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c index 640ec6e4a..fd02ccae9 100644 --- a/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c +++ b/data/qcsrc/menu/nexuiz/dialog_multiplayer_playersetup.c @@ -38,6 +38,7 @@ void fillNexuizPlayerSettingsTab(entity me) me.playerNameLabelAlpha = me.playerNameLabel.alpha; me.TD(me, 1, 2, box = makeNexuizInputBox(1, "_cl_name")); box.forbiddenCharacters = "\r\n\\\"$"; // don't care, isn't getting saved + box.maxLength = 63; me.TR(me); me.TD(me, 5, 1, e = makeNexuizColorpicker(box)); me.TD(me, 5, 2, e = makeNexuizCharmap(box)); -- 2.39.2