aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2009-09-07 08:27:49 +0000
committerFilippos Karapetis2009-09-07 08:27:49 +0000
commite3a733f2e2170f573514e8c53115e26227ea6247 (patch)
tree317ad30b780056c55db5687ce4e5863c07d9808e /engines
parent44b60d27507156f6a2d072845f3428483021865a (diff)
downloadscummvm-rg350-e3a733f2e2170f573514e8c53115e26227ea6247.tar.gz
scummvm-rg350-e3a733f2e2170f573514e8c53115e26227ea6247.tar.bz2
scummvm-rg350-e3a733f2e2170f573514e8c53115e26227ea6247.zip
Fixed a regression from commit #43999 (segment ID 1 is valid)
svn-id: r44000
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/engine/seg_manager.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/engines/sci/engine/seg_manager.cpp b/engines/sci/engine/seg_manager.cpp
index 9d37b2ac75..4955ec7cfc 100644
--- a/engines/sci/engine/seg_manager.cpp
+++ b/engines/sci/engine/seg_manager.cpp
@@ -233,7 +233,7 @@ int SegManager::deallocateScript(int script_nr) {
}
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::getScript(const SegmentId seg) {
}
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 @@ SegmentId SegManager::findSegmentByType(int type) {
}
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 @@ MemObjectType SegManager::getMemObjectType(SegmentId seg) {
// 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 @@ byte *SegManager::allocDynmem(int size, const char *descr, reg_t *addr) {
}
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 @@ const char *SegManager::getDescription(reg_t addr) {
}
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);