From 779dfea487ce59661a4199445e35d92d63b97f57 Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Thu, 30 Sep 2010 15:02:43 -0400 Subject: [PATCH] gc: correct buffer size in sprint, add -L to show full paths R=ken2 CC=golang-dev https://golang.org/cl/2338041 --- src/cmd/gc/doc.go | 2 ++ src/cmd/gc/lex.c | 4 +++- src/cmd/gc/subr.c | 2 ++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cmd/gc/doc.go b/src/cmd/gc/doc.go index 108a091b28..7798f9bf85 100644 --- a/src/cmd/gc/doc.go +++ b/src/cmd/gc/doc.go @@ -32,6 +32,8 @@ Flags: output file, default 6.out for 6g, etc. -e normally the compiler quits after 10 errors; -e prints all errors + -L + show entire file path when printing line numbers in errors -I dir1 -I dir2 add dir1 and dir2 to the list of paths to check for imported packages -N diff --git a/src/cmd/gc/lex.c b/src/cmd/gc/lex.c index 8289648ba9..05fe4e7f2a 100644 --- a/src/cmd/gc/lex.c +++ b/src/cmd/gc/lex.c @@ -436,7 +436,9 @@ importfile(Val *f, int line) path = f->u.sval; if(islocalname(path)) { cleanbuf = mal(strlen(pathname) + strlen(path->s) + 2); - sprint(cleanbuf, "%s/%s", pathname, path->s); + strcpy(cleanbuf, pathname); + strcat(cleanbuf, "/"); + strcat(cleanbuf, path->s); cleanname(cleanbuf); path = strlit(cleanbuf); } diff --git a/src/cmd/gc/subr.c b/src/cmd/gc/subr.c index 91a012187f..00f213e18f 100644 --- a/src/cmd/gc/subr.c +++ b/src/cmd/gc/subr.c @@ -934,6 +934,8 @@ Lconv(Fmt *fp) break; fmtprint(fp, " "); } + if(debug['L']) + fmtprint(fp, "%s/", pathname); if(a[i].line) fmtprint(fp, "%s:%ld[%s:%ld]", a[i].line->name, lno-a[i].ldel+1,