diff options
author | Strangerke | 2014-05-31 17:30:15 +0200 |
---|---|---|
committer | Strangerke | 2014-05-31 17:30:53 +0200 |
commit | 659b7bfeed3b7cc0ccb70fcb41d638a3e8ba3d45 (patch) | |
tree | dbc7b5441b8a53694c26a82f4fc7f1596b2d7d47 /engines/cruise | |
parent | 283db7d769eb4cdd2014bd09132e7b06d17e2f4c (diff) | |
download | scummvm-rg350-659b7bfeed3b7cc0ccb70fcb41d638a3e8ba3d45.tar.gz scummvm-rg350-659b7bfeed3b7cc0ccb70fcb41d638a3e8ba3d45.tar.bz2 scummvm-rg350-659b7bfeed3b7cc0ccb70fcb41d638a3e8ba3d45.zip |
CRUISE: Replace some more strcpy
Diffstat (limited to 'engines/cruise')
-rw-r--r-- | engines/cruise/cruise_main.cpp | 57 | ||||
-rw-r--r-- | engines/cruise/dataLoader.cpp | 16 | ||||
-rw-r--r-- | engines/cruise/function.cpp | 27 |
3 files changed, 47 insertions, 53 deletions
diff --git a/engines/cruise/cruise_main.cpp b/engines/cruise/cruise_main.cpp index 9227eca8cb..35cfc13bdb 100644 --- a/engines/cruise/cruise_main.cpp +++ b/engines/cruise/cruise_main.cpp @@ -163,7 +163,7 @@ int getProcParam(int overlayIdx, int param2, const char *name) { for (i = 0; i < numSymbGlob; i++) { if (arraySymbGlob[i].var4 == param2) { - strcpy(exportName, arraySymbGlob[i].offsetToName + exportNamePtr); + Common::strlcpy(exportName, arraySymbGlob[i].offsetToName + exportNamePtr, sizeof(exportName)); if (!strcmp(exportName, name)) { return (arraySymbGlob[i].idx); @@ -371,7 +371,7 @@ int loadFileSub1(uint8 **ptr, const char *name, uint8 *ptr2) { * strcatuint8(buffer,".HP"); * } */ } else { - strcpy(buffer, name); + Common::strlcpy(buffer, name, sizeof(buffer)); } fileIdx = findFileInDisks(buffer); @@ -653,8 +653,7 @@ int findObject(int mouseX, int mouseY, int *outObjOvl, int *outObjIdx) { (currentObject->type == OBJ_TYPE_SPRITE || currentObject->type == OBJ_TYPE_MASK || currentObject->type == OBJ_TYPE_EXIT || currentObject->type == OBJ_TYPE_VIRTUAL)) { const char* pObjectName = getObjectName(currentObject->idx, overlayTable[currentObject->overlay].ovlData->arrayNameObj); - - strcpy(objectName, pObjectName); + Common::strlcpy(objectName, pObjectName, sizeof(objectName)); if (strlen(objectName) && (currentObject->freeze == 0)) { int objIdx = currentObject->idx; @@ -863,7 +862,6 @@ bool createDialog(int objOvl, int objIdx, int x, int y) { bool found = false; int testState1 = -1; int testState2 = -1; - int j; int16 objectState; int16 objectState2; @@ -871,7 +869,7 @@ bool createDialog(int objOvl, int objIdx, int x, int y) { menuTable[0] = createMenu(x, y, _vm->langString(ID_SPEAK_ABOUT)); - for (j = 1; j < numOfLoadedOverlay; j++) { + for (int j = 1; j < numOfLoadedOverlay; j++) { if (overlayTable[j].alreadyLoaded) { int idHeader = overlayTable[j].ovlData->numMsgRelHeader; @@ -895,24 +893,26 @@ bool createDialog(int objOvl, int objIdx, int x, int y) { } if ((thisOvl == objOvl) && (ptrHead->obj2Number == objIdx)) { - int verbeOvl = ptrHead->verbOverlay; + int verbOvl = ptrHead->verbOverlay; int obj1Ovl = ptrHead->obj1Overlay; int obj2Ovl = ptrHead->obj2Overlay; - if (!verbeOvl) verbeOvl = j; - if (!obj1Ovl) obj1Ovl = j; - if (!obj2Ovl) obj2Ovl = j; - - char verbe_name[80]; + if (!verbOvl) + verbOvl = j; + if (!obj1Ovl) + obj1Ovl = j; + if (!obj2Ovl) + obj2Ovl = j; - verbe_name[0] = 0; + char verbName[80]; + verbName[0] = 0; ovlDataStruct *ovl2 = NULL; ovlDataStruct *ovl3 = NULL; ovlDataStruct *ovl4 = NULL; - if (verbeOvl > 0) - ovl2 = overlayTable[verbeOvl].ovlData; + if (verbOvl > 0) + ovl2 = overlayTable[verbOvl].ovlData; if (obj1Ovl > 0) ovl3 = overlayTable[obj1Ovl].ovlData; @@ -932,9 +932,9 @@ bool createDialog(int objOvl, int objIdx, int x, int y) { ((testState2 == -1) || (testState2 == objectState))) { if (ovl2->nameVerbGlob) { const char *ptr = getObjectName(ptrHead->verbNumber, ovl2->nameVerbGlob); - strcpy(verbe_name, ptr); + Common::strlcpy(verbName, ptr, sizeof(verbName)); - if (!strlen(verbe_name)) + if (!strlen(verbName)) attacheNewScriptToTail(&relHead, j, ptrHead->id, 30, currentScriptPtr->scriptNumber, currentScriptPtr->overlayNumber, scriptType_REL); else if (ovl2->nameVerbGlob) { found = true; @@ -985,23 +985,26 @@ bool findRelation(int objOvl, int objIdx, int x, int y) { objDataStruct* pObject = getObjectDataFromOverlay(thisOvl, ptrHead->obj1Number); if ((thisOvl == objOvl) && (objIdx == ptrHead->obj1Number) && pObject && (pObject->_class != THEME)) { - int verbeOvl = ptrHead->verbOverlay; + int verbOvl = ptrHead->verbOverlay; int obj1Ovl = ptrHead->obj1Overlay; int obj2Ovl = ptrHead->obj2Overlay; - if (!verbeOvl) verbeOvl = j; - if (!obj1Ovl) obj1Ovl = j; - if (!obj2Ovl) obj2Ovl = j; + if (!verbOvl) + verbOvl = j; + if (!obj1Ovl) + obj1Ovl = j; + if (!obj2Ovl) + obj2Ovl = j; - char verbe_name[80]; - verbe_name[0] = 0; + char verbName[80]; + verbName[0] = 0; ovlDataStruct *ovl2 = NULL; ovlDataStruct *ovl3 = NULL; //ovlDataStruct *ovl4 = NULL; - if (verbeOvl > 0) - ovl2 = overlayTable[verbeOvl].ovlData; + if (verbOvl > 0) + ovl2 = overlayTable[verbOvl].ovlData; if (obj1Ovl > 0) ovl3 = overlayTable[obj1Ovl].ovlData; @@ -1022,10 +1025,10 @@ bool findRelation(int objOvl, int objIdx, int x, int y) { if ((ovl2) && (ptrHead->verbNumber >= 0)) { if (ovl2->nameVerbGlob) { const char *ptr = getObjectName(ptrHead->verbNumber, ovl2->nameVerbGlob); - strcpy(verbe_name, ptr); + Common::strlcpy(verbName, ptr, sizeof(verbName)); if ((!first) && ((testState == -1) || (testState == objectState))) { - if (!strlen(verbe_name)) { + if (!strlen(verbName)) { if (currentScriptPtr) { attacheNewScriptToTail(&relHead, j, ptrHead->id, 30, currentScriptPtr->scriptNumber, currentScriptPtr->overlayNumber, scriptType_REL); } else { diff --git a/engines/cruise/dataLoader.cpp b/engines/cruise/dataLoader.cpp index e38343c215..55ed2c4e68 100644 --- a/engines/cruise/dataLoader.cpp +++ b/engines/cruise/dataLoader.cpp @@ -487,7 +487,7 @@ int loadSetEntry(const char *name, uint8 *ptr, int currentEntryIdx, int currentD filesDatabase[fileIndex].subData.resourceType = OBJ_TYPE_POLY; filesDatabase[fileIndex].subData.index = currentEntryIdx; break; - } + } case 1: { filesDatabase[fileIndex].width = filesDatabase[fileIndex].widthInColumn * 8; filesDatabase[fileIndex].subData.resourceType = OBJ_TYPE_BGMASK; @@ -495,7 +495,7 @@ int loadSetEntry(const char *name, uint8 *ptr, int currentEntryIdx, int currentD filesDatabase[fileIndex].subData.index = currentEntryIdx; filesDatabase[fileIndex].subData.transparency = 0; break; - } + } case 4: { filesDatabase[fileIndex].width = filesDatabase[fileIndex].widthInColumn * 2; filesDatabase[fileIndex].subData.resourceType = OBJ_TYPE_SPRITE; @@ -503,7 +503,7 @@ int loadSetEntry(const char *name, uint8 *ptr, int currentEntryIdx, int currentD filesDatabase[fileIndex].subData.index = currentEntryIdx; filesDatabase[fileIndex].subData.transparency = localBuffer.transparency % 0x10; break; - } + } case 5: { filesDatabase[fileIndex].subData.resourceType = OBJ_TYPE_SPRITE; decodeGfxUnified(&filesDatabase[fileIndex], localBuffer.type); @@ -511,22 +511,22 @@ int loadSetEntry(const char *name, uint8 *ptr, int currentEntryIdx, int currentD filesDatabase[fileIndex].subData.index = currentEntryIdx; filesDatabase[fileIndex].subData.transparency = localBuffer.transparency; break; - } + } case 8: { filesDatabase[fileIndex].subData.resourceType = OBJ_TYPE_SPRITE; filesDatabase[fileIndex].width = filesDatabase[fileIndex].widthInColumn; filesDatabase[fileIndex].subData.index = currentEntryIdx; filesDatabase[fileIndex].subData.transparency = localBuffer.transparency; break; - } + } default: { - warning("Unsuported gfx loading type: %d", localBuffer.type); + warning("Unsupported gfx loading type: %d", localBuffer.type); break; - } + } } if (name != filesDatabase[fileIndex].subData.name) - strcpy(filesDatabase[fileIndex].subData.name, name); + Common::strlcpy(filesDatabase[fileIndex].subData.name, name, sizeof(filesDatabase[fileIndex].subData.name)); // create the mask switch (localBuffer.type) { diff --git a/engines/cruise/function.cpp b/engines/cruise/function.cpp index 243a9f0a61..327dec4d6c 100644 --- a/engines/cruise/function.cpp +++ b/engines/cruise/function.cpp @@ -335,20 +335,15 @@ int16 Op_RemoveMessage() { } int16 Op_FindSet() { - int16 i; - char name[36] = ""; - char *ptr; - - ptr = (char *) popPtr(); - - if (!ptr) { + char *ptr = (char *) popPtr(); + if (!ptr) return -1; - } - strcpy(name, ptr); + char name[36] = ""; + Common::strlcpy(name, ptr, sizeof(name)); strToUpper(name); - for (i = 0; i < NUM_FILE_ENTRIES; i++) { + for (int i = 0; i < NUM_FILE_ENTRIES; i++) { if (!strcmp(name, filesDatabase[i].subData.name)) { return (i); } @@ -409,14 +404,10 @@ int16 Op_FreeOverlay() { int16 Op_FindProc() { char name[36] = ""; - char *ptr; - int param; - ptr = (char *)popPtr(); - - strcpy(name, ptr); - - param = getProcParam(popVar(), 20, name); + char *ptr = (char *)popPtr(); + Common::strlcpy(name, ptr, sizeof(name)); + int param = getProcParam(popVar(), 20, name); return param; } @@ -572,7 +563,7 @@ int16 Op_LoadAbs() { slot = popVar(); if ((slot >= 0) && (slot < NUM_FILE_ENTRIES)) { - strcpy(name, ptr); + Common::strlcpy(name, ptr, sizeof(name)); strToUpper(name); gfxModuleData_gfxWaitVSync(); |