aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDelilah Hoare <delilah@dhoare.me>2022-03-06 19:56:32 +1100
committerlberki <lberki@users.noreply.github.com>2022-03-14 11:42:54 +0100
commit09dfa26c4e59b15919aaad6986f9b47c883dc4f1 (patch)
tree34f30f6e2180132f1d9f2aed18a4906071a47382
parentac0166533f93581571fcb84e1f5a43c618f0a96f (diff)
downloadkati-09dfa26c4e59b15919aaad6986f9b47c883dc4f1.tar.gz
Correct result of Stem()
-rw-r--r--src/strutil.cc2
-rw-r--r--testcase/stem_middle.mk11
2 files changed, 12 insertions, 1 deletions
diff --git a/src/strutil.cc b/src/strutil.cc
index 51ffa4f..8c4bdc0 100644
--- a/src/strutil.cc
+++ b/src/strutil.cc
@@ -161,7 +161,7 @@ StringPiece Pattern::Stem(StringPiece str) const {
if (!Match(str))
return "";
return str.substr(percent_index_,
- str.size() - (pat_.size() - percent_index_ - 1));
+ str.size() - pat_.size() + 1);
}
void Pattern::AppendSubst(StringPiece str,
diff --git a/testcase/stem_middle.mk b/testcase/stem_middle.mk
new file mode 100644
index 0000000..cce73ae
--- /dev/null
+++ b/testcase/stem_middle.mk
@@ -0,0 +1,11 @@
+
+test: a/a.a b.b c/c
+
+a/%.a:
+ @echo $*
+
+%.b:
+ @echo $*
+
+c/%:
+ @echo $*