From 3e7c25961e945eb3a617aea46791f9b135567e48 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Mon, 13 Feb 2012 21:13:05 -0600 Subject: Minor code cleanup and typo fix. --- scripts/test/basename.test | 6 +++--- toys/basename.c | 6 ++---- 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); -- cgit v1.2.3