diff options
Diffstat (limited to 'basename.c')
-rw-r--r-- | basename.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/basename.c b/basename.c index 1db885f62..06e27663f 100644 --- a/basename.c +++ b/basename.c @@ -2,7 +2,7 @@ /* * Mini basename implementation for busybox * - * Copyright (C) 1999 by Lineo, inc. + * Copyright (C) 1999,2000 by Lineo, inc. * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org> * * This program is free software; you can redistribute it and/or modify @@ -26,13 +26,16 @@ extern int basename_main(int argc, char **argv) { - char* s; + char* s, *s1; if ((argc < 2) || (**(argv + 1) == '-')) { usage("basename [file ...]\n"); } argv++; + s1=*argv+strlen(*argv)-1; + if (*s1 == '/') + *s1 = '\0'; s = strrchr(*argv, '/'); printf("%s\n", (s)? s + 1 : *argv); exit(TRUE); |