Browse Source

Fix printing i64's. (#574)

Zeta 2 years ago
parent
commit
c2e3612a5d
1 changed files with 5 additions and 1 deletions
  1. 5 1
      src/std/ucs2.c

+ 5 - 1
src/std/ucs2.c

@@ -208,7 +208,11 @@ sprintf_loop:
 					switch( c ) {
 					switch( c ) {
 					case 'd':
 					case 'd':
 						cfmt[i++] = 0;
 						cfmt[i++] = 0;
-						size = sprintf(tmp,cfmt,va_arg(arglist,int));
+						if( cfmt[i-3] == 'l' ) {
+							size = sprintf(tmp,cfmt,va_arg(arglist,int64));
+						} else {
+							size = sprintf(tmp,cfmt,va_arg(arglist,int));
+						}
 						goto sprintf_add;
 						goto sprintf_add;
 					case 'f':
 					case 'f':
 						cfmt[i++] = 0;
 						cfmt[i++] = 0;