applet/swkbd: use UTF-16 string to test string size
Also removed a TODO as it is verified that max_text_length is inclusive (allows size = max_text_length)
This commit is contained in:
parent
5f80075c31
commit
47ed3f4db5
|
@ -52,8 +52,10 @@ ValidationError SoftwareKeyboard::ValidateInput(const std::string& input) const
|
|||
return error;
|
||||
}
|
||||
|
||||
// TODO(jroweboy): Is max_text_length inclusive or exclusive?
|
||||
if (input.size() > config.max_text_length) {
|
||||
// 3DS uses UTF-16 string to test string size
|
||||
std::u16string u16input = Common::UTF8ToUTF16(input);
|
||||
|
||||
if (u16input.size() > config.max_text_length) {
|
||||
return ValidationError::MaxLengthExceeded;
|
||||
}
|
||||
|
||||
|
@ -62,7 +64,7 @@ ValidationError SoftwareKeyboard::ValidateInput(const std::string& input) const
|
|||
bool is_empty = input.empty();
|
||||
switch (config.accept_mode) {
|
||||
case AcceptedInput::FixedLength:
|
||||
if (input.size() != config.max_text_length) {
|
||||
if (u16input.size() != config.max_text_length) {
|
||||
return ValidationError::FixedLengthRequired;
|
||||
}
|
||||
break;
|
||||
|
|
Reference in New Issue