[Scummvm-git-logs] scummvm master -> 2ab1385183bada86a72577ed67b2e82574717be1

AndywinXp noreply at scummvm.org
Sun Sep 24 20:43:00 UTC 2023


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

Summary:
2ab1385183 SWORD1: Use better handling of _memListFreeEnd being nullptr


Commit: 2ab1385183bada86a72577ed67b2e82574717be1
    https://github.com/scummvm/scummvm/commit/2ab1385183bada86a72577ed67b2e82574717be1
Author: AndywinXp (andywinxp at gmail.com)
Date: 2023-09-24T22:42:56+02:00

Commit Message:
SWORD1: Use better handling of _memListFreeEnd being nullptr

Changed paths:
    engines/sword1/memman.cpp


diff --git a/engines/sword1/memman.cpp b/engines/sword1/memman.cpp
index e59c37a5c61..0f56e9eb7d5 100644
--- a/engines/sword1/memman.cpp
+++ b/engines/sword1/memman.cpp
@@ -74,16 +74,16 @@ void MemMan::setCondition(MemHandle *bsMem, uint16 pCond) {
 }
 
 void MemMan::flush() {
-	if (_memListFree && !_memListFreeEnd) {
-		warning("MemMan::flush(): _memListFreeEnd is nullptr");
-	} else {
-		while (_memListFree) {
-			free(_memListFreeEnd->data);
-			_memListFreeEnd->data = NULL;
-			_memListFreeEnd->cond = MEM_FREED;
-			_alloced -= _memListFreeEnd->size;
-			removeFromFreeList(_memListFreeEnd);
+	while (_memListFree) {
+		if (_memListFreeEnd == nullptr) {
+			warning("MemMan::flush(): _memListFreeEnd is nullptr");
+			break;
 		}
+		free(_memListFreeEnd->data);
+		_memListFreeEnd->data = NULL;
+		_memListFreeEnd->cond = MEM_FREED;
+		_alloced -= _memListFreeEnd->size;
+		removeFromFreeList(_memListFreeEnd);
 	}
 
 	if (_alloced)
@@ -91,16 +91,16 @@ void MemMan::flush() {
 }
 
 void MemMan::checkMemoryUsage() {
-	if ((_alloced > MAX_ALLOC) && _memListFree && !_memListFreeEnd) {
-		warning("MemMan::checkMemoryUsage(): _memListFreeEnd is nullptr");
-	} else {
-		while ((_alloced > MAX_ALLOC) && _memListFree) {
-			free(_memListFreeEnd->data);
-			_memListFreeEnd->data = NULL;
-			_memListFreeEnd->cond = MEM_FREED;
-			_alloced -= _memListFreeEnd->size;
-			removeFromFreeList(_memListFreeEnd);
+	while ((_alloced > MAX_ALLOC) && _memListFree) {
+		if (_memListFreeEnd == nullptr) {
+			warning("MemMan::checkMemoryUsage(): _memListFreeEnd is nullptr");
+			break;
 		}
+		free(_memListFreeEnd->data);
+		_memListFreeEnd->data = NULL;
+		_memListFreeEnd->cond = MEM_FREED;
+		_alloced -= _memListFreeEnd->size;
+		removeFromFreeList(_memListFreeEnd);
 	}
 }
 




More information about the Scummvm-git-logs mailing list