[Scummvm-cvs-logs] SF.net SVN: scummvm:[48954] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Wed May 5 19:53:30 CEST 2010


Revision: 48954
          http://scummvm.svn.sourceforge.net/scummvm/?rev=48954&view=rev
Author:   lordhoto
Date:     2010-05-05 17:53:30 +0000 (Wed, 05 May 2010)

Log Message:
-----------
Replace KYRA's strncpy and strncat usages by strlcpy/strlcat.

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/gui_lok.cpp
    scummvm/trunk/engines/kyra/gui_lol.cpp
    scummvm/trunk/engines/kyra/gui_v2.cpp
    scummvm/trunk/engines/kyra/kyra_mr.cpp
    scummvm/trunk/engines/kyra/script.cpp
    scummvm/trunk/engines/kyra/script_tim.cpp
    scummvm/trunk/engines/kyra/sound_digital.cpp
    scummvm/trunk/engines/kyra/text_lok.cpp

Modified: scummvm/trunk/engines/kyra/gui_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lok.cpp	2010-05-05 17:52:59 UTC (rev 48953)
+++ scummvm/trunk/engines/kyra/gui_lok.cpp	2010-05-05 17:53:30 UTC (rev 48954)
@@ -582,8 +582,7 @@
 	KyraEngine_v1::SaveHeader header;
 	for (int i = startSlot; i < num && uint(_savegameOffset + i) < _saveSlots.size(); i++) {
 		if ((in = _vm->openSaveForReading(_vm->getSavegameFilename(_saveSlots[i + _savegameOffset]), header))) {
-			strncpy(savenames[i], header.description.c_str(), ARRAYSIZE(savenames[0]));
-			savenames[i][34] = 0;
+			Common::strlcpy(savenames[i], header.description.c_str(), ARRAYSIZE(savenames[0]));
 
 			Util::convertISOToDOS(savenames[i]);
 
@@ -748,8 +747,7 @@
 	} else {
 		for (int i = 0; i < 5; i++) {
 			if (_menu[2].item[i].saveSlot == _vm->_gameToLoad) {
-				strncpy(_savegameName, _menu[2].item[i].itemString, 31);
-				_savegameName[30] = 0;
+				Common::strlcpy(_savegameName, _menu[2].item[i].itemString, 31);
 				break;
 			}
 		}

Modified: scummvm/trunk/engines/kyra/gui_lol.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_lol.cpp	2010-05-05 17:52:59 UTC (rev 48953)
+++ scummvm/trunk/engines/kyra/gui_lol.cpp	2010-05-05 17:53:30 UTC (rev 48954)
@@ -2312,39 +2312,32 @@
 
 		if (_currentMenu == &_gameOptions) {
 			char *s = (char *)_vm->_tempBuffer5120;
-			strncpy(s, _vm->getLangString(0x406f + _vm->_monsterDifficulty), 30);
-			s[29] = 0;
+			Common::strlcpy(s, _vm->getLangString(0x406f + _vm->_monsterDifficulty), 30);
 			_currentMenu->item[_vm->gameFlags().isTalkie ? 0 : 2].itemString = s;
 			s += (strlen(s) + 1);
 
-			strncpy(s, _vm->getLangString(_vm->_smoothScrollingEnabled ? 0x4068 : 0x4069), 30);
-			s[29] = 0;
+			Common::strlcpy(s, _vm->getLangString(_vm->_smoothScrollingEnabled ? 0x4068 : 0x4069), 30);
 			_currentMenu->item[_vm->gameFlags().isTalkie ? 1 : 3].itemString = s;
 			s += (strlen(s) + 1);
 
-			strncpy(s, _vm->getLangString(_vm->_floatingCursorsEnabled ? 0x4068 : 0x4069), 30);
-			s[29] = 0;
+			Common::strlcpy(s, _vm->getLangString(_vm->_floatingCursorsEnabled ? 0x4068 : 0x4069), 30);
 			_currentMenu->item[_vm->gameFlags().isTalkie ? 2 : 4].itemString = s;
 			s += (strlen(s) + 1);
 
 			if (_vm->gameFlags().isTalkie) {
-				strncpy(s, _vm->getLangString(0x42d6 + _vm->_lang), 30);
-				s[29] = 0;
+				Common::strlcpy(s, _vm->getLangString(0x42d6 + _vm->_lang), 30);
 				_currentMenu->item[3].itemString = s;
 				s += (strlen(s) + 1);
 
-				strncpy(s, _vm->getLangString(_vm->textEnabled() ? 0x4068 : 0x4069), 30);
-				s[29] = 0;
+				Common::strlcpy(s, _vm->getLangString(_vm->textEnabled() ? 0x4068 : 0x4069), 30);
 				_currentMenu->item[4].itemString = s;
 				s += (strlen(s) + 1);
 			} else {
-				strncpy(s, _vm->getLangString(_vm->_configMusic ? 0x4068 : 0x4069), 30);
-				s[29] = 0;
+				Common::strlcpy(s, _vm->getLangString(_vm->_configMusic ? 0x4068 : 0x4069), 30);
 				_currentMenu->item[0].itemString = s;
 				s += (strlen(s) + 1);
 
-				strncpy(s, _vm->getLangString(_vm->_configSounds ? 0x4068 : 0x4069), 30);
-				s[29] = 0;
+				Common::strlcpy(s, _vm->getLangString(_vm->_configSounds ? 0x4068 : 0x4069), 30);
 				_currentMenu->item[1].itemString = s;
 				s += (strlen(s) + 1);
 			}
@@ -2582,8 +2575,7 @@
 
 	for (int i = startSlot; i < num && _savegameOffset + i - slotOffs < _savegameListSize; ++i) {
 		if (_savegameList[_saveSlots[i + _savegameOffset - slotOffs]]) {
-			strncpy(s, _savegameList[_saveSlots[i + _savegameOffset - slotOffs]], 80);
-			s[79] = 0;
+			Common::strlcpy(s, _savegameList[_saveSlots[i + _savegameOffset - slotOffs]], 80);
 			menu.item[i].itemString = s;
 			s += (strlen(s) + 1);
 			menu.item[i].saveSlot = _saveSlots[i + _savegameOffset - slotOffs];
@@ -2628,7 +2620,7 @@
 			in = _vm->openSaveForReading(_vm->getSavegameFilename(i), header);
 			if (in) {
 				_savegameList[i] = new char[header.description.size() + 1];
-				strncpy(_savegameList[i], header.description.c_str(), header.description.size() + 1);
+				Common::strlcpy(_savegameList[i], header.description.c_str(), header.description.size() + 1);
 				Util::convertISOToDOS(_savegameList[i]);
 				delete in;
 			} else {

Modified: scummvm/trunk/engines/kyra/gui_v2.cpp
===================================================================
--- scummvm/trunk/engines/kyra/gui_v2.cpp	2010-05-05 17:52:59 UTC (rev 48953)
+++ scummvm/trunk/engines/kyra/gui_v2.cpp	2010-05-05 17:53:30 UTC (rev 48954)
@@ -457,8 +457,7 @@
 	for (int i = startSlot; i < num && uint(_savegameOffset + i) < _saveSlots.size(); ++i) {
 		if ((in = _vm->openSaveForReading(_vm->getSavegameFilename(_saveSlots[i + _savegameOffset]), header)) != 0) {
 			char *s = getTableString(menu.item[i].itemId);
-			strncpy(s, header.description.c_str(), 80);
-			s[79] = 0;
+			Common::strlcpy(s, header.description.c_str(), 80);
 			Util::convertISOToDOS(s);
 
 			menu.item[i].saveSlot = _saveSlots[i + _savegameOffset];

Modified: scummvm/trunk/engines/kyra/kyra_mr.cpp
===================================================================
--- scummvm/trunk/engines/kyra/kyra_mr.cpp	2010-05-05 17:52:59 UTC (rev 48953)
+++ scummvm/trunk/engines/kyra/kyra_mr.cpp	2010-05-05 17:53:30 UTC (rev 48954)
@@ -1297,18 +1297,12 @@
 char *KyraEngine_MR::appendLanguage(char *buf, int lang, int bufSize) {
 	assert(lang < _languageExtensionSize);
 
-	int size = strlen(buf) + strlen(_languageExtension[lang]);
-
-	if (size > bufSize) {
+	const int size = Common::strlcat(buf, _languageExtension[lang], bufSize);
+	if (size >= bufSize) {
 		warning("buffer too small to append language extension");
 		return 0;
 	}
 
-	char *temp = buf + strlen(buf);
-	bufSize -= strlen(buf);
-
-	strncat(temp, _languageExtension[lang], bufSize);
-
 	return buf;
 }
 
@@ -1318,8 +1312,7 @@
 
 	uint32 size = 0;
 	char nBuf[32];
-	strncpy(nBuf, file, 32);
-	nBuf[31] = 0;
+	Common::strlcpy(nBuf, file, sizeof(nBuf));
 	buffer = _res->fileData(appendLanguage(nBuf, _lang, sizeof(nBuf)), &size);
 
 	return buffer ? size : 0 ;

Modified: scummvm/trunk/engines/kyra/script.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script.cpp	2010-05-05 17:52:59 UTC (rev 48953)
+++ scummvm/trunk/engines/kyra/script.cpp	2010-05-05 17:53:30 UTC (rev 48954)
@@ -131,8 +131,7 @@
 
 	_scriptData->sysFuncs = opcodes;
 
-	strncpy(_scriptData->filename, filename, 13);
-	_scriptData->filename[12] = 0;
+	Common::strlcpy(_scriptData->filename, filename, 13);
 
 	_scriptData = 0;
 	_filename = 0;

Modified: scummvm/trunk/engines/kyra/script_tim.cpp
===================================================================
--- scummvm/trunk/engines/kyra/script_tim.cpp	2010-05-05 17:52:59 UTC (rev 48953)
+++ scummvm/trunk/engines/kyra/script_tim.cpp	2010-05-05 17:53:30 UTC (rev 48954)
@@ -174,8 +174,7 @@
 	for (int i = 0; i < num; ++i)
 		_tim->func[i].avtl = _tim->avtl + _tim->avtl[i];
 
-	strncpy(_tim->filename, filename, 13);
-	_tim->filename[12] = 0;
+	Common::strlcpy(_tim->filename, filename, 13);
 
 	_tim->isLoLOutro = (_vm->gameFlags().gameID == GI_LOL) && !scumm_stricmp(filename, "LOLFINAL.TIM");
 	_tim->lolCharacter = 0;

Modified: scummvm/trunk/engines/kyra/sound_digital.cpp
===================================================================
--- scummvm/trunk/engines/kyra/sound_digital.cpp	2010-05-05 17:52:59 UTC (rev 48953)
+++ scummvm/trunk/engines/kyra/sound_digital.cpp	2010-05-05 17:53:30 UTC (rev 48954)
@@ -458,8 +458,7 @@
 		return -1;
 	}
 
-	strncpy(use->filename, filename, sizeof(use->filename));
-	use->filename[sizeof(use->filename) - 1] = 0;
+	Common::strlcpy(use->filename, filename, sizeof(use->filename));
 	use->priority = priority;
 	Audio::SeekableAudioStream *audioStream = _supportedCodecs[usedCodec].streamFunc(stream, DisposeAfterUse::YES);
 	if (!audioStream) {

Modified: scummvm/trunk/engines/kyra/text_lok.cpp
===================================================================
--- scummvm/trunk/engines/kyra/text_lok.cpp	2010-05-05 17:52:59 UTC (rev 48953)
+++ scummvm/trunk/engines/kyra/text_lok.cpp	2010-05-05 17:53:30 UTC (rev 48954)
@@ -348,10 +348,9 @@
 
 void KyraEngine_LoK::updateSentenceCommand(const char *str1, const char *str2, int color) {
 	char sentenceCommand[500];
-	strncpy(sentenceCommand, str1, 500);
-	sentenceCommand[499] = 0;
+	Common::strlcpy(sentenceCommand, str1, sizeof(sentenceCommand));
 	if (str2)
-		strncat(sentenceCommand, str2, 500 - strlen(sentenceCommand));
+		Common::strlcat(sentenceCommand, str2, sizeof(sentenceCommand));
 
 	drawSentenceCommand(sentenceCommand, color);
 	_screen->updateScreen();


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list