Lines Matching refs:suffix
1510 * and mark the old, now unused suffix bytes as deleted.
1516 * This key is not a suffix of the previous one;
1533 char *suffix;
1536 suffix = keys + map[j].oldpos;
1537 for (suffixLimit = suffix; *suffixLimit != 0; ++suffixLimit) {}
1538 offset = (int32_t)(keyLimit - key) - (suffixLimit - suffix);
1540 break; /* suffix cannot be longer than the original */
1542 /* Is it a suffix of the earlier, longer key? */
1543 for (k = keyLimit; suffix < suffixLimit && *--k == *--suffixLimit;) {}
1544 if (suffix == suffixLimit && *k == *suffixLimit) {
1546 /* mark the suffix as deleted */
1547 while (*suffix != 0) { *suffix++ = 1; }
1548 *suffix = 1;
1550 break; /* not a suffix, restart from here */
1621 /* Make "is suffix of another string" compare greater than a non-suffix. */
1698 * Temporarily use fSame and fSuffixOffset for suffix strings to
1704 * This string is not a suffix of the previous one;
1714 const UChar *suffix = suffixRes->u.fString.fChars;
1715 const UChar *suffixLimit = suffix + suffixRes->u.fString.fLength;
1718 break; /* suffix cannot be longer than the original */
1720 /* Is it a suffix of the earlier, longer key? */
1721 for (s = strLimit; suffix < suffixLimit && *--s == *--suffixLimit;) {}
1722 if (suffix == suffixLimit && *s == *suffixLimit) {
1728 /* write the suffix by itself if we need explicit length */
1731 break; /* not a suffix, restart from here */
1745 /* Write the non-suffix strings. */
1749 /* Write the suffix strings. Make each point to the real string. */