pad = ' ';
// - Minimum length
- if(c == '*') {
+ if(c == '*') { // Dynamic length
minSize = val;
val = va_arg(args, Uint);
c = *__format++;
{
case 'd':
case 'i':
- if( (isLongLong && val >> 63) || (!isLongLong && val >> 31) ) {
+ if( isLongLong && val >> 63 ) {
PUTCH('-');
val = -val;
}
+ else if( !isLongLong && val >> 31 ) {
+ PUTCH('-');
+ val = -(Sint32)val;
+ }
itoa(p, val, 10, minSize, pad);
goto printString;
case 'u':
// String - Null Terminated Array
case 's':
- p = (char*)(Uint)val;
+ p = (char*)(tVAddr)val;
printString:
if(!p) p = "(null)";
len = strlen(p);
break;
case 'C': // Non-Null Terminated Character Array
- p = (char*)(Uint)val;
+ p = (char*)(tVAddr)val;
if(!p) goto printString;
- //while(minSize--) PUTCH(*p++);
while(minSize--) PUTCH(*p++);
break;
*/
int CheckString(char *String)
{
+ if( !MM_GetPhysAddr( (tVAddr)String ) )
+ return 0;
+
// Check 1st page
if( MM_IsUser( (tVAddr)String ) )
{