[Scummvm-cvs-logs] SF.net SVN: scummvm: [23343] scummvm/branches/branch-0-9-0/backends/gp32/gp32std_memory.cpp

wonst719 at users.sourceforge.net wonst719 at users.sourceforge.net
Thu Jun 29 11:18:30 CEST 2006


Revision: 23343
Author:   wonst719
Date:     2006-06-29 02:18:27 -0700 (Thu, 29 Jun 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=23343&view=rev

Log Message:
-----------
Properly init tables.

Modified Paths:
--------------
    scummvm/branches/branch-0-9-0/backends/gp32/gp32std_memory.cpp
Modified: scummvm/branches/branch-0-9-0/backends/gp32/gp32std_memory.cpp
===================================================================
--- scummvm/branches/branch-0-9-0/backends/gp32/gp32std_memory.cpp	2006-06-29 09:17:04 UTC (rev 23342)
+++ scummvm/branches/branch-0-9-0/backends/gp32/gp32std_memory.cpp	2006-06-29 09:18:27 UTC (rev 23343)
@@ -54,7 +54,7 @@
 	static int prevBlock;
 
 	// Linked list is slow for this task. :)
-	static MemBlock block[NUM_BLOCK];
+	static MemBlock *block;
 
 	byte *block;
 	size_t size;
@@ -76,23 +76,30 @@
 //size_t MemBlock::allocSize = 0;
 int MemBlock::numBlock = 0;
 int MemBlock::prevBlock = 0;
-MemBlock MemBlock::block[NUM_BLOCK];
+MemBlock *MemBlock::block = NULL;
 
 void MemBlock::init()
 {
 	userMem = (byte *)gm_malloc(USER_MEMORY_SIZE + USER_BLOCK_SIZE);
-	if (!userMem) {
+	block = (MemBlock *)gm_malloc(NUM_BLOCK * sizeof(MemBlock));
+
+	if (!(userMem && block)) {
 		//error
 	}
+
+	memset(userMem, 0, USER_MEMORY_SIZE + USER_BLOCK_SIZE);
+	memset(block, 0, NUM_BLOCK * sizeof(MemBlock));
 }
 
 void MemBlock::deinit()
 {
-	if (!userMem) {
+	if (!(userMem && block)) {
 		//error
 	}
 	gm_free(userMem);
+	gm_free(block);
 	userMem = NULL;
+	block = NULL;
 }
 
 void *MemBlock::addBlock(size_t size)


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