1
0
mirror of https://github.com/golang/go synced 2024-11-26 02:37:58 -07:00

fix traceback prints - %S was not advancing pointer enough

R=r
DELTA=6  (5 added, 1 deleted, 0 changed)
OCL=27500
CL=27525
This commit is contained in:
Russ Cox 2009-04-15 18:52:28 -07:00
parent cff99ba167
commit bafd1787fe

View File

@ -58,11 +58,15 @@ printf(int8 *s, ...)
break; break;
case 'p': // pointer-sized case 'p': // pointer-sized
case 's': case 's':
case 'S':
if(sizeof(uintptr) == 8 && ((uint32)(uint64)arg)&4) if(sizeof(uintptr) == 8 && ((uint32)(uint64)arg)&4)
arg += 4; arg += 4;
narg = arg + sizeof(uintptr); narg = arg + sizeof(uintptr);
break; break;
case 'S': // pointer-aligned but bigger
if(sizeof(uintptr) == 8 && ((uint32)(uint64)arg)&4)
arg += 4;
narg = arg + sizeof(String);
break;
} }
switch(*p) { switch(*p) {
case 'd': case 'd':