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':