From 0bc08c8bfddc8910387368d44e8ae3124e2963f1 Mon Sep 17 00:00:00 2001 From: Tryn Mirell Date: Sun, 15 Jan 2012 23:27:22 -0600 Subject: 'basename': Handle where we have no / passed --- toys/basename.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/toys/basename.c b/toys/basename.c index 33307327..db70a5ec 100644 --- a/toys/basename.c +++ b/toys/basename.c @@ -26,7 +26,7 @@ void basename_main(void) if (!arg) return; arglen = strlen(arg); - + // handle the case where we only have single slash if (arglen == 1 && arg[0] == '/') { puts("/"); @@ -39,7 +39,10 @@ void basename_main(void) } // get everything past the last / - base = strrchr(arg, '/') + 1; + base = strrchr(arg, '/'); + + if (!base) base = arg; + else base++; // handle the case where we have all slashes if (base[0] == 0) base = "/"; -- cgit v1.2.3