fix traceback prints - %S was not advancing pointer enough
R=r
DELTA=6 (5 added, 1 deleted, 0 changed)
OCL=27500
CL=27525
diff --git a/src/runtime/print.c b/src/runtime/print.c
index 974d3d7..5295e33 100644
--- a/src/runtime/print.c
+++ b/src/runtime/print.c
@@ -58,11 +58,15 @@
break;
case 'p': // pointer-sized
case 's':
- case 'S':
if(sizeof(uintptr) == 8 && ((uint32)(uint64)arg)&4)
arg += 4;
narg = arg + sizeof(uintptr);
break;
+ case 'S': // pointer-aligned but bigger
+ if(sizeof(uintptr) == 8 && ((uint32)(uint64)arg)&4)
+ arg += 4;
+ narg = arg + sizeof(String);
+ break;
}
switch(*p) {
case 'd':