summaryrefslogtreecommitdiff
path: root/src/cmd/8c/list.c
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-01-17 12:40:45 +0100
committerOndřej Surý <ondrej@sury.org>2011-01-17 12:40:45 +0100
commit3e45412327a2654a77944249962b3652e6142299 (patch)
treebc3bf69452afa055423cbe0c5cfa8ca357df6ccf /src/cmd/8c/list.c
parentc533680039762cacbc37db8dc7eed074c3e497be (diff)
downloadgolang-3e45412327a2654a77944249962b3652e6142299.tar.gz
Imported Upstream version 2011.01.12upstream/2011.01.12
Diffstat (limited to 'src/cmd/8c/list.c')
-rw-r--r--src/cmd/8c/list.c30
1 files changed, 21 insertions, 9 deletions
diff --git a/src/cmd/8c/list.c b/src/cmd/8c/list.c
index 6caafd258..c422905cd 100644
--- a/src/cmd/8c/list.c
+++ b/src/cmd/8c/list.c
@@ -76,15 +76,27 @@ Pconv(Fmt *fp)
Prog *p;
p = va_arg(fp->args, Prog*);
- if(p->as == ADATA)
- sprint(str, " %A %D/%d,%D",
- p->as, &p->from, p->from.scale, &p->to);
- else if(p->as == ATEXT)
- sprint(str, " %A %D,%d,%D",
- p->as, &p->from, p->from.scale, &p->to);
- else
- sprint(str, " %A %D,%D",
- p->as, &p->from, &p->to);
+ switch(p->as) {
+ case ADATA:
+ sprint(str, "(%L) %A %D/%d,%D",
+ p->lineno, p->as, &p->from, p->from.scale, &p->to);
+ break;
+
+ case ATEXT:
+ if(p->from.scale) {
+ sprint(str, "(%L) %A %D,%d,%lD",
+ p->lineno, p->as, &p->from, p->from.scale, &p->to);
+ break;
+ }
+ sprint(str, "(%L) %A %D,%lD",
+ p->lineno, p->as, &p->from, &p->to);
+ break;
+
+ default:
+ sprint(str, "(%L) %A %D,%lD",
+ p->lineno, p->as, &p->from, &p->to);
+ break;
+ }
return fmtstrcpy(fp, str);
}