aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/pack
diff options
context:
space:
mode:
authorShenghou Ma <minux.ma@gmail.com>2012-03-17 01:34:44 +0800
committerShenghou Ma <minux.ma@gmail.com>2012-03-17 01:34:44 +0800
commit367557cd79ffb5ff82d9d21c2e8098d95083b3c0 (patch)
tree5d65b00929a9985caae0ed78beed1dfbc9f733b3 /src/cmd/pack
parentcb4ed897a390adf4df71bad311bccf7f2890ca50 (diff)
downloadgo-367557cd79ffb5ff82d9d21c2e8098d95083b3c0.tar.gz
go-367557cd79ffb5ff82d9d21c2e8098d95083b3c0.zip
cmd/pack: also recognize '\\' as path separator in filenames
R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5841051
Diffstat (limited to 'src/cmd/pack')
-rw-r--r--src/cmd/pack/ar.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cmd/pack/ar.c b/src/cmd/pack/ar.c
index 8d881f876a..7e07fbc895 100644
--- a/src/cmd/pack/ar.c
+++ b/src/cmd/pack/ar.c
@@ -1382,11 +1382,14 @@ mesg(int c, char *file)
void
trim(char *s, char *buf, int n)
{
- char *p;
+ char *p, *q;
for(;;) {
p = strrchr(s, '/');
- if (!p) { /* no slash in name */
+ q = strrchr(s, '\\');
+ if (q > p)
+ p = q;
+ if (!p) { /* no (back)slash in name */
strncpy(buf, s, n);
return;
}
@@ -1394,7 +1397,7 @@ trim(char *s, char *buf, int n)
strncpy(buf, p+1, n);
return;
}
- *p = 0; /* strip trailing slash */
+ *p = 0; /* strip trailing (back)slash */
}
}