summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2008-11-05 15:59:34 -0800
committerRuss Cox <rsc@golang.org>2008-11-05 15:59:34 -0800
commitcad41bce2766a05e572163d0338471c22e269d5c (patch)
tree44d161aceb965f108e9449915edf94f487f90388 /src
parent0e227f85a2bb9feb58d8090e0235884a55688ac6 (diff)
downloadgolang-cad41bce2766a05e572163d0338471c22e269d5c.tar.gz
fix renamed-package bug in exported names:
always show original name R=ken OCL=18603 CL=18603
Diffstat (limited to 'src')
-rw-r--r--src/cmd/gc/subr.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c
index b6e225f81..fbeef81f0 100644
--- a/src/cmd/gc/subr.c
+++ b/src/cmd/gc/subr.c
@@ -912,14 +912,13 @@ out:
int
Sconv(Fmt *fp)
{
- char buf[500];
Sym *s;
char *opk, *pkg, *nam;
s = va_arg(fp->args, Sym*);
if(s == S) {
- snprint(buf, sizeof(buf), "<S>");
- goto out;
+ fmtstrcpy(fp, "<S>");
+ return 0;
}
pkg = "<nil>";
@@ -934,18 +933,12 @@ Sconv(Fmt *fp)
nam = s->name;
if(!(fp->flags & FmtShort))
- if(strcmp(pkg, package) || strcmp(opk, package) || (fp->flags & FmtLong)) {
- if(strcmp(opk, pkg) == 0) {
- snprint(buf, sizeof(buf), "%s.%s", pkg, nam);
- goto out;
- }
- snprint(buf, sizeof(buf), "(%s)%s.%s", opk, pkg, nam);
- goto out;
+ if(strcmp(opk, package) || (fp->flags & FmtLong)) {
+ fmtprint(fp, "%s.%s", opk, nam);
+ return 0;
}
- snprint(buf, sizeof(buf), "%s", nam);
-
-out:
- return fmtstrcpy(fp, buf);
+ fmtstrcpy(fp, nam);
+ return 0;
}
static char*