- p = tmpBuf;
- switch (c) {
- case 'd':
- case 'i':
- if( (isLongLong && arg >> 63) || (!isLongLong && arg >> 31) ) {
- E9('-');
- arg = -arg;
- }
- itoa(p, arg, 10, minSize, pad);
- goto printString;
- case 'u':
- itoa(p, arg, 10, minSize, pad);
- goto printString;
- case 'x':
- itoa(p, arg, 16, minSize, pad);
- goto printString;
- case 'o':
- itoa(p, arg, 8, minSize, pad);
- goto printString;
- case 'b':
- itoa(p, arg, 2, minSize, pad);
- goto printString;
-
- case 'B': //Boolean
- if(arg) E9_Str("True");
- else E9_Str("False");
- break;
-
- case 's':
- p = (char*)(Uint)arg;
- printString:
- if(!p) p = "(null)";
- while(*p) E9(*p++);
- break;
-
- // Single Character / Array
- case 'c':
- if(minSize == 1) {
- E9(arg);
- break;
- }
- p = (char*)(Uint)arg;
- if(!p) goto printString;
- while(minSize--) E9(*p++);
- break;
-
- default: E9(arg); break;
- }
- }
+void Debug_Fmt(const char *format, va_list args)
+{
+ char buf[DEBUG_MAX_LINE_LEN];
+ int len;
+ buf[DEBUG_MAX_LINE_LEN-1] = 0;
+ len = vsnprintf(buf, DEBUG_MAX_LINE_LEN-1, format, args);
+ //if( len < DEBUG_MAX_LINE )
+ // do something
+ Debug_Puts(1, buf);
+ return ;