aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2012-02-13 21:13:05 -0600
committerRob Landley <rob@landley.net>2012-02-13 21:13:05 -0600
commit3e7c25961e945eb3a617aea46791f9b135567e48 (patch)
tree8b9677063d9b814d7054770bc22b17cc578cb3f4
parent528e3ba874f0d89f5a4d1f8ce8c04adbaa2ec1e4 (diff)
downloadtoybox-3e7c25961e945eb3a617aea46791f9b135567e48.tar.gz
Minor code cleanup and typo fix.
-rwxr-xr-xscripts/test/basename.test6
-rw-r--r--toys/basename.c6
2 files changed, 5 insertions, 7 deletions
diff --git a/scripts/test/basename.test b/scripts/test/basename.test
index e0288ce1..bd48f4af 100755
--- a/scripts/test/basename.test
+++ b/scripts/test/basename.test
@@ -16,8 +16,8 @@ testing "basename suffix" "basename a/b/c/d.suffix .suffix" "d\n" "" ""
testing "basename suffix=result" "basename .txt .txt" ".txt\n" "" ""
# Deal with suffix appearing in the filename
-testing "basename reappering suffix 1" "basename a.txt.txt .txt" "a.txt\n" "" ""
-testing "basename reappering suffix 2" "basename a.txt.old .txt" "a.txt.old\n" "" ""
+testing "basename reappearing suffix 1" "basename a.txt.txt .txt" "a.txt\n" "" ""
+testing "basename reappearing suffix 2" "basename a.txt.old .txt" "a.txt.old\n" "" ""
# A suffix should be a real suffix, only a the end.
-testing "basename invalid suffix" "basename isthisasuffix? suffix" "isthisasuffix?\n" "" "" \ No newline at end of file
+testing "basename invalid suffix" "basename isthisasuffix? suffix" "isthisasuffix?\n" "" ""
diff --git a/toys/basename.c b/toys/basename.c
index a6a3bb96..9f228b41 100644
--- a/toys/basename.c
+++ b/toys/basename.c
@@ -37,10 +37,8 @@ void basename_main(void)
// chop off the suffix if provided
if (suffix) {
- int suflen = strlen(suffix);
- int reslen = strlen(base);
- if (suflen < reslen && !strcmp( base+reslen-suflen, suffix))
- base[reslen-suflen] = 0;
+ arg = base + strlen(base) - strlen(suffix);
+ if (arg > base && !strcmp(arg, suffix)) *arg = 0;
}
puts(base);