[Scummvm-cvs-logs] scummvm master -> 8c57e4bf431be137ed81957a2c3b960a35650d39

wjp wjp at usecode.org
Fri Nov 11 00:09:25 CET 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
c79b6afcad CRUISE: Fix OOM checks
8c57e4bf43 SCI: Fix const cast


Commit: c79b6afcad0f463e7e1ab4ebe50e36f65abd8e16
    https://github.com/scummvm/scummvm/commit/c79b6afcad0f463e7e1ab4ebe50e36f65abd8e16
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-11-10T14:44:00-08:00

Commit Message:
CRUISE: Fix OOM checks

Changed paths:
    engines/cruise/overlay.cpp



diff --git a/engines/cruise/overlay.cpp b/engines/cruise/overlay.cpp
index 2f4b375..d618ab5 100644
--- a/engines/cruise/overlay.cpp
+++ b/engines/cruise/overlay.cpp
@@ -185,11 +185,10 @@ int loadOverlay(const char *scriptName) {
 
 	// This memory block will be later passed to a MemoryReadStream, which will dispose of it
 	unpackedBuffer = (byte *)malloc(unpackedSize);
-	memset(unpackedBuffer, 0, unpackedSize);
-
 	if (!unpackedBuffer) {
 		return (-2);
 	}
+	memset(unpackedBuffer, 0, unpackedSize);
 
 	if (volumePtrToFileDescriptor[fileIdx].size + 2 != unpackedSize) {
 		char *pakedBuffer =
@@ -566,11 +565,10 @@ int loadOverlay(const char *scriptName) {
 
 		// This memory block will be later passed to a MemoryReadStream, which will dispose of it
 		unpackedBuffer = (byte *)malloc(unpackedSize);
-		memset(unpackedBuffer, 0, unpackedSize);
-
 		if (!unpackedBuffer) {
 			return (-2);
 		}
+		memset(unpackedBuffer, 0, unpackedSize);
 
 		if (volumePtrToFileDescriptor[fileIdx].size + 2 !=
 		        unpackedSize) {


Commit: 8c57e4bf431be137ed81957a2c3b960a35650d39
    https://github.com/scummvm/scummvm/commit/8c57e4bf431be137ed81957a2c3b960a35650d39
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-11-10T15:07:27-08:00

Commit Message:
SCI: Fix const cast

Changed paths:
    engines/sci/engine/script.h
    engines/sci/engine/seg_manager.cpp



diff --git a/engines/sci/engine/script.h b/engines/sci/engine/script.h
index 90a7c7a..1ebae3b 100644
--- a/engines/sci/engine/script.h
+++ b/engines/sci/engine/script.h
@@ -88,6 +88,7 @@ public:
 	reg_t *getLocalsBegin() { return _localsBlock ? _localsBlock->_locals.begin() : NULL; }
 	void syncLocalsBlock(SegManager *segMan);
 	ObjMap &getObjectMap() { return _objects; }
+	const ObjMap &getObjectMap() const { return _objects; }
 
 public:
 	Script();
diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp
index 6722cda..f7da0ce 100644
--- a/engines/sci/engine/seg_manager.cpp
+++ b/engines/sci/engine/seg_manager.cpp
@@ -269,8 +269,8 @@ reg_t SegManager::findObjectByName(const Common::String &name, int index) {
 
 		if (mobj->getType() == SEG_TYPE_SCRIPT) {
 			// It's a script, scan all objects in it
-			Script *scr = (Script *)mobj;
-			ObjMap objects = scr->getObjectMap();
+			const Script *scr = (const Script *)mobj;
+			const ObjMap& objects = scr->getObjectMap();
 			for (ObjMap::const_iterator it = objects.begin(); it != objects.end(); ++it) {
 				objpos.offset = it->_value.getPos().offset;
 				if (name == getObjectName(objpos))






More information about the Scummvm-git-logs mailing list