(svn r21555) -Fix [FS#4321]: strings for the query window weren't properly terminated to N characters anymore

This commit is contained in:
rubidium 2010-12-21 09:29:01 +00:00
parent d446fd6766
commit e1d62dc81b
1 changed files with 6 additions and 0 deletions

View File

@ -1314,6 +1314,12 @@ struct QueryStringWindow : public QueryStringBaseWindow
GetString(this->edit_str_buf, str, &this->edit_str_buf[max_bytes - 1]);
str_validate(this->edit_str_buf, &this->edit_str_buf[max_bytes - 1], false, true);
/* Make sure the name isn't too long for the text buffer in the number of
* characters (not bytes). max_chars also counts the '\0' characters. */
while (Utf8StringLength(this->edit_str_buf) + 1 > max_chars) {
*Utf8PrevChar(this->edit_str_buf + strlen(this->edit_str_buf)) = '\0';
}
if ((flags & QSF_ACCEPT_UNCHANGED) == 0) this->orig = strdup(this->edit_str_buf);
this->caption = caption;