diff options
Diffstat (limited to 'src/cmd/pack')
-rw-r--r-- | src/cmd/pack/ar.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/cmd/pack/ar.c b/src/cmd/pack/ar.c index 8d881f876..7e07fbc89 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 */ } } |