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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Thu Mar 12 04:26:58 CET 2009


Revision: 39353
          http://scummvm.svn.sourceforge.net/scummvm/?rev=39353&view=rev
Author:   fingolfin
Date:     2009-03-12 03:26:58 +0000 (Thu, 12 Mar 2009)

Log Message:
-----------
SCI: cleanup

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

Modified: scummvm/trunk/engines/sci/engine/klists.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/klists.cpp	2009-03-12 03:26:47 UTC (rev 39352)
+++ scummvm/trunk/engines/sci/engine/klists.cpp	2009-03-12 03:26:58 UTC (rev 39353)
@@ -56,24 +56,16 @@
 	return &(nt->table[addr.offset].entry);
 }
 
-#define LOOKUP_NULL_LIST(addr) _lookup_list(s, addr, __FILE__, __LINE__, 1)
+List *lookup_list(EngineState *s, reg_t addr, const char *file, int line) {
+	MemObject *mobj = GET_SEGMENT(*s->seg_manager, addr.segment, MEM_OBJ_LISTS);
 
-List *_lookup_list(EngineState *s, reg_t addr, const char *file, int line, int may_be_null) {
-	MemObject *mobj;
-	ListTable *lt;
-
-	if (may_be_null && !addr.segment && !addr.offset)
-		return NULL;
-
-	mobj = GET_SEGMENT(*s->seg_manager, addr.segment, MEM_OBJ_LISTS);
-
 	if (!mobj) {
 		sciprintf("%s, L%d: Attempt to use non-list "PREG" as list\n", __FILE__, __LINE__, PRINT_REG(addr));
 		script_debug_flag = script_error_flag = 1;
 		return NULL;
 	}
 
-	lt = &(mobj->data.lists);
+	ListTable *lt = &(mobj->data.lists);
 
 	if (!ENTRY_IS_VALID(lt, addr.offset)) {
 		sciprintf("%s, L%d: Attempt to use non-list "PREG" as list\n", __FILE__, __LINE__, PRINT_REG(addr));
@@ -84,10 +76,6 @@
 	return &(lt->table[addr.offset].entry);
 }
 
-List *lookup_list(EngineState *s, reg_t addr, const char *file, int line) {
-	return _lookup_list(s, addr, file, line, 0);
-}
-
 #ifdef DISABLE_VALIDATIONS
 
 #define sane_nodep(a, b) 1
@@ -212,7 +200,9 @@
 }
 
 reg_t kFirstNode(EngineState *s, int funct_nr, int argc, reg_t *argv) {
-	List *l = LOOKUP_NULL_LIST(argv[0]);
+	if (IS_NULL_REG(argv[0]))
+		return NULL_REG;
+	List *l = LOOKUP_LIST(argv[0]);
 
 	if (l && !sane_listp(s, argv[0]))
 		SCIkwarn(SCIkERROR, "List at "PREG" is not sane anymore!\n", PRINT_REG(argv[0]));

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2009-03-12 03:26:47 UTC (rev 39352)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2009-03-12 03:26:58 UTC (rev 39353)
@@ -578,7 +578,7 @@
 	}
 }
 
-static byte _fake_return_buffer[2] = {op_ret << 1, op_ret << 1};
+static const byte _fake_return_buffer[2] = {op_ret << 1, op_ret << 1};
 
 void run_vm(EngineState *s, int restoring) {
 	reg_t *variables[4]; // global, local, temp, param, as immediate pointers
@@ -603,7 +603,7 @@
 	Script *local_script = script_locate_by_segment(s, xs->local_segment);
 	int old_execution_stack_base = s->execution_stack_base;
 	// Used to detect the stack bottom, for "physical" returns
-	byte *code_buf = NULL; // (Avoid spurious warning)
+	const byte *code_buf = NULL; // (Avoid spurious warning)
 
 	if (!local_script) {
 		script_error(s, __FILE__, __LINE__, "Program Counter gone astray");


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