[Scummvm-cvs-logs] SF.net SVN: scummvm:[44000] scummvm/trunk/engines/sci/engine/seg_manager. cpp

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Mon Sep 7 10:27:49 CEST 2009


Revision: 44000
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44000&view=rev
Author:   thebluegr
Date:     2009-09-07 08:27:49 +0000 (Mon, 07 Sep 2009)

Log Message:
-----------
Fixed a regression from commit #43999 (segment ID 1 is valid)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/seg_manager.cpp

Modified: scummvm/trunk/engines/sci/engine/seg_manager.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/seg_manager.cpp	2009-09-07 06:07:18 UTC (rev 43999)
+++ scummvm/trunk/engines/sci/engine/seg_manager.cpp	2009-09-07 08:27:49 UTC (rev 44000)
@@ -233,7 +233,7 @@
 }
 
 Script *SegManager::getScript(const SegmentId seg) {
-	if (seg <= 0 || (uint)seg >= _heap.size()) {
+	if (seg < 1 || (uint)seg >= _heap.size()) {
 		error("SegManager::getScript(): seg id %x out of bounds", seg);
 	}
 	if (!_heap[seg]) {
@@ -246,7 +246,7 @@
 }
 
 Script *SegManager::getScriptIfLoaded(const SegmentId seg) {
-	if (seg <= 1 || (uint)seg >= _heap.size() || !_heap[seg] || _heap[seg]->getType() != MEM_OBJ_SCRIPT)
+	if (seg < 1 || (uint)seg >= _heap.size() || !_heap[seg] || _heap[seg]->getType() != MEM_OBJ_SCRIPT)
 		return 0;
 	return (Script *)_heap[seg];
 }
@@ -259,13 +259,13 @@
 }
 
 MemObject *SegManager::getMemObject(SegmentId seg) {
-	if (seg <= 1 || (uint)seg >= _heap.size() || !_heap[seg])
+	if (seg < 1 || (uint)seg >= _heap.size() || !_heap[seg])
 		return 0;
 	return _heap[seg];
 }
 
 MemObjectType SegManager::getMemObjectType(SegmentId seg) {
-	if (seg <= 1 || (uint)seg >= _heap.size() || !_heap[seg])
+	if (seg < 1 || (uint)seg >= _heap.size() || !_heap[seg])
 		return MEM_OBJ_INVALID;
 	return _heap[seg]->getType();
 }
@@ -275,7 +275,7 @@
 //	false - invalid seg
 //	true  - valid seg
 bool SegManager::check(SegmentId seg) {
-	if (seg <= 0 || (uint)seg >= _heap.size()) {
+	if (seg < 1 || (uint)seg >= _heap.size()) {
 		return false;
 	}
 	if (!_heap[seg]) {
@@ -909,7 +909,7 @@
 }
 
 const char *SegManager::getDescription(reg_t addr) {
-	if (addr.segment >= _heap.size())
+	if (addr.segment < 1 || addr.segment >= _heap.size())
 		return "";
 
 	MemObject *mobj = _heap[addr.segment];
@@ -923,7 +923,7 @@
 }
 
 int SegManager::freeDynmem(reg_t addr) {
-	if (addr.segment <= 0 || addr.segment >= _heap.size() || !_heap[addr.segment] || _heap[addr.segment]->getType() != MEM_OBJ_DYNMEM)
+	if (addr.segment < 1 || addr.segment >= _heap.size() || !_heap[addr.segment] || _heap[addr.segment]->getType() != MEM_OBJ_DYNMEM)
 		return 1; // error
 
 	deallocate(addr.segment, true);


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