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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sun Sep 27 21:24:18 CEST 2009


Revision: 44417
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44417&view=rev
Author:   fingolfin
Date:     2009-09-27 19:24:18 +0000 (Sun, 27 Sep 2009)

Log Message:
-----------
Simplify kFormat slightly

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

Modified: scummvm/trunk/engines/sci/engine/kstring.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/kstring.cpp	2009-09-27 19:23:44 UTC (rev 44416)
+++ scummvm/trunk/engines/sci/engine/kstring.cpp	2009-09-27 19:24:18 UTC (rev 44417)
@@ -364,7 +364,7 @@
 ** the supplied parameters and writes it to the targ_address.
 */
 reg_t kFormat(EngineState *s, int, int argc, reg_t *argv) {
-	int *arguments;
+	uint16 *arguments;
 	reg_t dest = argv[0];
 	char targetbuf[512];
 	char *target = targetbuf;
@@ -392,9 +392,9 @@
 	debugC(2, kDebugLevelStrings, "Formatting \"%s\"\n", source);
 
 
-	arguments = (int*)malloc(sizeof(int) * argc);
+	arguments = (uint16 *)malloc(sizeof(uint16) * argc);
 #ifdef SATISFY_PURIFY
-	memset(arguments, 0, sizeof(int) * argc);
+	memset(arguments, 0, sizeof(uint16) * argc);
 #endif
 
 	for (i = startarg; i < argc; i++)
@@ -530,12 +530,11 @@
 				if (xfer == 'x')
 					format_string = "%x";
 
+				int val = arguments[paramindex];
 				if (!unsigned_var)
-					if (arguments[paramindex] & 0x8000)
-						/* sign extend */
-						arguments[paramindex] = (~0xffff) | arguments[paramindex];
+					val = (int16)arguments[paramindex];
 
-				target += sprintf(target, format_string, arguments[paramindex++]);
+				target += sprintf(target, format_string, val);
 				CHECK_OVERFLOW1(target, 0, NULL_REG);
 
 				unsigned_var = 0;


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