diff options
Diffstat (limited to 'engines/agi/predictive.cpp')
-rw-r--r-- | engines/agi/predictive.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/engines/agi/predictive.cpp b/engines/agi/predictive.cpp index 153fec641a..414477a381 100644 --- a/engines/agi/predictive.cpp +++ b/engines/agi/predictive.cpp @@ -210,13 +210,12 @@ bool AgiEngine::predictiveDialog() { } } - temp[MAXWORDLEN] = 0; - - strncpy(temp, prefix.c_str(), MAXWORDLEN); - strncat(temp, _currentWord.c_str(), MAXWORDLEN); + Common::strlcpy(temp, prefix.c_str(), sizeof(temp)); + Common::strlcat(temp, _currentWord.c_str(), sizeof(temp)); for (int i = prefix.size() + _currentCode.size(); i < MAXWORDLEN; i++) temp[i] = ' '; + temp[MAXWORDLEN] = 0; printText(temp, 0, 8, 7, MAXWORDLEN, 15, 0); _gfx->flushBlock(62, 54, 249, 66); @@ -461,9 +460,8 @@ bool AgiEngine::predictiveDialog() { } press: - strncpy(_predictiveResult, prefix.c_str(), 40); - strncat(_predictiveResult, _currentWord.c_str(), 40); - _predictiveResult[prefix.size() + _currentCode.size() + 1] = 0; + Common::strlcpy(_predictiveResult, prefix.c_str(), sizeof(_predictiveResult)); + Common::strlcat(_predictiveResult, _currentWord.c_str(), sizeof(_predictiveResult)); getout: // if another window was shown, bring it up again @@ -518,7 +516,7 @@ void AgiEngine::loadDict() { _predictiveDictLine = (char **)calloc(1, sizeof(char *) * lines); if (_predictiveDictLine == NULL) { - warning("Cannot allocate memory for line index buffer."); + warning("Cannot allocate memory for line index buffer"); return; } _predictiveDictLine[0] = _predictiveDictText; |