diff options
Diffstat (limited to 'toys/posix/ln.c')
-rw-r--r-- | toys/posix/ln.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/toys/posix/ln.c b/toys/posix/ln.c index fea6fff2..d69aabf4 100644 --- a/toys/posix/ln.c +++ b/toys/posix/ln.c @@ -47,11 +47,8 @@ void ln_main(void) int rc; char *try = toys.optargs[i]; - if (S_ISDIR(buf.st_mode)) { - new = strrchr(try, '/'); - if (!new) new = try; - new = xmsprintf("%s/%s", dest, new); - } else new = dest; + if (S_ISDIR(buf.st_mode)) new = xmsprintf("%s/%s", dest, basename(try)); + else new = dest; /* Silently unlink the existing target. If it doesn't exist, * then we just move on */ if (toys.optflags & FLAG_f) unlink(new); |