diff options
author | Russ Cox <rsc@golang.org> | 2009-04-15 18:52:28 -0700 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2009-04-15 18:52:28 -0700 |
commit | 594a5e717618db8ae89229168561b2d787ad1b73 (patch) | |
tree | a58a9b361ac46447fa2e639913785dbc938804b0 /src/runtime | |
parent | b810f54e1c4bc1650cd376c13c70bf3369c13428 (diff) | |
download | golang-594a5e717618db8ae89229168561b2d787ad1b73.tar.gz |
fix traceback prints - %S was not advancing pointer enough
R=r
DELTA=6 (5 added, 1 deleted, 0 changed)
OCL=27500
CL=27525
Diffstat (limited to 'src/runtime')
-rw-r--r-- | src/runtime/print.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/runtime/print.c b/src/runtime/print.c index 974d3d72e..5295e338d 100644 --- a/src/runtime/print.c +++ b/src/runtime/print.c @@ -58,11 +58,15 @@ printf(int8 *s, ...) 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': |