case '[':
if ((pos = strchr(subject->buf, ']'))) {
remove = pos - subject->buf;
- if (remove <= (subject->len - remove) * 2) {
+ if (remove <= subject->len * 2 / 3
+ && memmem(subject->buf, remove, 'PATCH', 5)) {
strbuf_remove(subject, 0, remove + 1);
continue;
}
Pardon my ignorance, but wouldn't this still remove not only
"[PATCH 4/5]", but all of [PATCH 4/5] [sbuild]" anyway? The
parameters to strbuf_remove() seem unchanged.
I don't exclude I've screwed up, but note that pos is computed with
strchr, not strrchr. Since the second memmem does not find [PATCH], it
does not remove anything.
(BTW, cairo uses the [...] convention).
Paolo
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html