SZEDER Gábor <szeder.dev@xxxxxxxxx> writes: >>> - if (i1 == -1 && starts_with(s1 + off, suffix)) >>> - i1 = i; >>> - if (i2 == -1 && starts_with(s2 + off, suffix)) >>> - i2 = i; >>> + int j, start, suffix_len = strlen(suffix); >>> + if (suffix_len < off) >>> + start = off - suffix_len + 1; >>> + else >>> + start = 0; >> >> Now that this function has to rewind the beginning of the comparison >> earlier than the given 'off', it makes me wonder if it still makes >> sense for the caller to compute it in the first place. > > The caller has to compute it anyway, because it must deal with all the > cases when the two compared tagnames are not reordered based on their > (prerelease)suffix. Sure.