]> git.pond.sub.org Git - empserver/commitdiff
Fix stmtch() for exact match after multiple partial matches
authorMarkus Armbruster <armbru@pond.sub.org>
Sun, 9 Mar 2008 12:45:29 +0000 (13:45 +0100)
committerMarkus Armbruster <armbru@pond.sub.org>
Fri, 14 Mar 2008 19:25:43 +0000 (20:25 +0100)
Keep looking for exact match after finding the second partial match.

src/lib/common/stmtch.c

index 0f018713c5c9b93b209233f0329b445a6835a42b..b234329207b0c4be710cf1c24d3a59a67d96a7dc 100644 (file)
@@ -56,9 +56,10 @@ stmtch(char *needle, void *haystack, ptrdiff_t offs, size_t elt_size)
        case ME_MISMATCH:
            break;
        case ME_PARTIAL:
-           if (res >= 0)
-               return M_NOTUNIQUE;
-           res = i;
+           if (res == M_NOTFOUND)
+               res = i;
+           else
+               res = M_NOTUNIQUE;
            break;
        case ME_EXACT:
            return i;