Lines Matching full:suffix
1516 * and mark the old, now unused suffix bytes as deleted.
1522 * This key is not a suffix of the previous one;
1539 char *suffix;
1542 suffix = keys + map[j].oldpos;
1543 for (suffixLimit = suffix; *suffixLimit != 0; ++suffixLimit) {}
1544 offset = (int32_t)(keyLimit - key) - (suffixLimit - suffix);
1546 break; /* suffix cannot be longer than the original */
1548 /* Is it a suffix of the earlier, longer key? */
1549 for (k = keyLimit; suffix < suffixLimit && *--k == *--suffixLimit;) {}
1550 if (suffix == suffixLimit && *k == *suffixLimit) {
1552 /* mark the suffix as deleted */
1553 while (*suffix != 0) { *suffix++ = 1; }
1554 *suffix = 1;
1556 break; /* not a suffix, restart from here */
1627 /* Make "is suffix of another string" compare greater than a non-suffix. */
1704 * Temporarily use fSame and fSuffixOffset for suffix strings to
1710 * This string is not a suffix of the previous one;
1720 const UChar *suffix = suffixRes->u.fString.fChars;
1721 const UChar *suffixLimit = suffix + suffixRes->u.fString.fLength;
1724 break; /* suffix cannot be longer than the original */
1726 /* Is it a suffix of the earlier, longer key? */
1727 for (s = strLimit; suffix < suffixLimit && *--s == *--suffixLimit;) {}
1728 if (suffix == suffixLimit && *s == *suffixLimit) {
1734 /* write the suffix by itself if we need explicit length */
1737 break; /* not a suffix, restart from here */
1751 /* Write the non-suffix strings. */
1755 /* Write the suffix strings. Make each point to the real string. */