Home | History | Annotate | Download | only in i18n

Lines Matching refs:search

146 * @param strsrch string search data
288 * @param strsrch string search data
359 * @param strsrch string search data
537 * consideration. Forwards search will take the end accents into consideration
538 * for the default shift values and the backwards search will take the prefix
568 * @param strsrch string search data
577 UBreakIterator *breakiterator = strsrch->search->internalBreakIter;
599 * @param strsrch string search data
608 UBreakIterator *breakiterator = strsrch->search->breakIter;
629 const UChar *text = strsrch->search->text +
693 * Gets the next base character offset depending on the string search pattern
695 * @param strsrch string search data
697 * to search for.
705 int32_t textlength = strsrch->search->textLength;
709 const UChar *text = strsrch->search->text;
723 * @param text strsrch string search data
724 * @param textoffset start text position to do search
764 * @param strsrch string search data
770 strsrch->search->matchedIndex = USEARCH_DONE;
771 strsrch->search->matchedLength = 0;
772 if (strsrch->search->isForwardSearching) {
773 setColEIterOffset(strsrch->textIter, strsrch->search->textLength);
821 * @param strsrch string search data
838 const UChar *text = strsrch->search->text + start;
913 * @param strsrch string search data
952 // accent = (getFCD(strsrch->search->text, &temp,
953 // strsrch->search->textLength)
958 UBool accent = getFCD(strsrch->search->text, &temp,
959 strsrch->search->textLength) > 0xFF;
968 UTF_BACK_1(strsrch->search->text, 0, temp);
969 if (getFCD(strsrch->search->text, &temp,
970 strsrch->search->textLength) & LAST_BYTE_MASK_) {
994 * @param strsrch string search data
1005 const UChar *text = strsrch->search->text;
1007 int32_t textlength = strsrch->search->textLength;
1068 * @param strsrch string search data
1085 strsrch->search->text + start, length,
1109 unorm_decompose(text, decomplength, strsrch->search->text + start,
1130 * @param strsrch string search data
1140 int32_t lastmatchindex = strsrch->search->matchedIndex;
1145 if (strsrch->search->isForwardSearching) {
1151 if (!result && !strsrch->search->isOverlap) {
1152 if (strsrch->search->isForwardSearching) {
1153 result = start < lastmatchindex + strsrch->search->matchedLength;
1188 * @param strsrch string search data
1201 int32_t textlength = strsrch->search->textLength;
1204 const UChar *text = strsrch->search->text;
1212 // excess prefix characters has been included in the potential search
1275 * @param strsrch string search data
1278 * search offset.
1305 search.
1306 if (!strsrch->search->breakIter && strsrch->strength == UCOL_PRIMARY) {
1311 strsrch->search->matchedIndex = start;
1312 strsrch->search->matchedLength = *textoffset - start;
1433 * pattern in string search data
1434 * @param strsrch string search data
1471 * @param strsrch string search match
1484 const UChar *text = strsrch->search->text;
1485 int32_t textlength = strsrch->search->textLength;
1530 strsrch->search->text + offset,
1579 * @param strsrch string search data
1603 * @param strsrch string search data
1614 const UChar *text = strsrch->search->text;
1736 * @param strsrch string search data
1747 const UChar *text = strsrch->search->text;
1769 // offset to the last base character in substring to search
1809 * Gets the previous base character offset depending on the string search
1811 * @param strsrch string search data
1821 const UChar *text = strsrch->search->text;
1823 if (getFCD(text, &offset, strsrch->search->textLength) >>
1838 * @param strsrch string search data
1851 int32_t textlength = strsrch->search->textLength;
1854 const UChar *text = strsrch->search->text;
1885 int32_t textlength = strsrch->search->textLength;
1935 * @param strsrch string search data
1938 * search offset.
1954 strsrch->search->matchedIndex = getPreviousUStringSearchBaseOffset(
1957 strsrch->search->matchedLength = *textoffset -
1958 strsrch->search->matchedIndex;
1974 *textoffset = getNextBaseOffset(strsrch->search->text, *textoffset,
1975 strsrch->search->textLength);
1979 strsrch->search->matchedIndex = start;
1980 strsrch->search->matchedLength = *textoffset - start;
1990 * @param text strsrch string search data
1991 * @param textoffset start text position to do search
2003 if (strsrch->search->isOverlap) {
2004 if (textoffset != strsrch->search->textLength) {
2036 * @param strsrch string search data
2048 int32_t textlength = strsrch->search->textLength;
2051 const UChar *text = strsrch->search->text;
2118 * @param strsrch string search data
2124 * search offset.
2148 *textoffset = getPreviousBaseOffset(strsrch->search->text,
2153 //Add breakiterator boundary check for primary strength search.
2154 if (!strsrch->search->breakIter && strsrch->strength == UCOL_PRIMARY) {
2158 strsrch->search->matchedIndex = *textoffset;
2159 strsrch->search->matchedLength = end - *textoffset;
2175 * @param strsrch string search match
2188 const UChar *text = strsrch->search->text;
2192 if (!(getFCD(text, &tempend, strsrch->search->textLength) &
2197 end = getNextBaseOffset(text, end, strsrch->search->textLength);
2232 strsrch->search->text + start,
2263 * @param strsrch string search data
2274 const UChar *text = strsrch->search->text;
2287 strsrch->search->textLength);
2399 * @param strsrch string search data
2410 const UChar *text = strsrch->search->text;
2412 int32_t textlength = strsrch->search->textLength;
2432 // offset to the last base character in substring to search
2476 * @param strsrch string search data
2488 int32_t textlength = strsrch->search->textLength;
2491 const UChar *text = strsrch->search->text;
2573 * @param strsrch string search data
2576 * search offset.
2592 strsrch->search->matchedIndex = *textoffset;
2593 strsrch->search->matchedLength =
2613 *textoffset = getPreviousBaseOffset(strsrch->search->text,
2618 strsrch->search->matchedIndex = *textoffset;
2619 strsrch->search->matchedLength = end - *textoffset;
2689 // string search does not really work when numeric collation is turned on
2732 result->search = (USearch *)uprv_malloc(sizeof(USearch));
2733 if (result->search == NULL) {
2739 result->search->text = text;
2740 result->search->textLength = textlength;
2747 result->search->breakIter = breakiter;
2749 result->search->internalBreakIter = ubrk_open(UBRK_CHARACTER, ucol_getLocaleByType(result->collator, ULOC_VALID_LOCALE, status), text, textlength, status);
2756 result->search->matchedLength = 0;
2757 result->search->matchedIndex = USEARCH_DONE;
2766 result->search->isOverlap = FALSE;
2767 result->search->isCanonicalMatch = FALSE;
2768 result->search->isForwardSearching = TRUE;
2769 result->search->reset = TRUE;
2804 if (strsrch->search->internalBreakIter) {
2805 ubrk_close(strsrch->search->internalBreakIter);
2809 uprv_free(strsrch->search);
2821 if (isOutOfBounds(strsrch->search->textLength, position)) {
2827 strsrch->search->matchedIndex = USEARCH_DONE;
2828 strsrch->search->matchedLength = 0;
2829 strsrch->search->reset = FALSE;
2837 if (isOutOfBounds(strsrch->search->textLength, result)) {
2854 strsrch->search->isOverlap = (value == USEARCH_ON ? TRUE : FALSE);
2857 strsrch->search->isCanonicalMatch = (value == USEARCH_ON ? TRUE :
2877 return (strsrch->search->isOverlap == TRUE ? USEARCH_ON :
2880 return (strsrch->search->isCanonicalMatch == TRUE ? USEARCH_ON :
2895 return strsrch->search->matchedIndex;
2913 int32_t copylength = strsrch->search->matchedLength;
2914 int32_t copyindex = strsrch->search->matchedIndex;
2924 uprv_memcpy(result, strsrch->search->text + copyindex,
2928 strsrch->search->matchedLength, status);
2935 return strsrch->search->matchedLength;
2947 strsrch->search->breakIter = breakiter;
2949 ubrk_setText(breakiter, strsrch->search->text,
2950 strsrch->search->textLength, status);
2959 return strsrch->search->breakIter;
2980 strsrch->search->text = text;
2981 strsrch->search->textLength = textlength;
2983 strsrch->search->matchedIndex = USEARCH_DONE;
2984 strsrch->search->matchedLength = 0;
2985 strsrch->search->reset = TRUE;
2987 if (strsrch->search->breakIter != NULL) {
2988 ubrk_setText(strsrch->search->breakIter, text,
2991 ubrk_setText(strsrch->search->internalBreakIter, text, textlength, status);
3001 *length = strsrch->search->textLength;
3002 return strsrch->search->text;
3026 ubrk_close(strsrch->search->internalBreakIter);
3027 strsrch->search->internalBreakIter = ubrk_open(UBRK_CHARACTER, ucol_getLocaleByType(collator, ULOC_VALID_LOCALE, status),
3028 strsrch->search->text, strsrch->search->textLength, status);
3041 uprv_init_collIterate(collator, strsrch->search->text,
3042 strsrch->search->textLength,
3108 strsrch->search->isForwardSearching = TRUE;
3122 strsrch->search->isForwardSearching = TRUE;
3136 strsrch->search->isForwardSearching = FALSE;
3137 usearch_setOffset(strsrch, strsrch->search->textLength, status);
3150 strsrch->search->isForwardSearching = FALSE;
3164 * string to continue the search in. Imagine when we are in the middle of the
3189 USearch *search = strsrch->search;
3190 search->reset = FALSE;
3191 int32_t textlength = search->textLength;
3192 if (search->isForwardSearching) {
3195 || (!search->isOverlap &&
3197 (search->matchedIndex != USEARCH_DONE &&
3198 offset + search->matchedLength >= textlength)))) {
3205 (! search->isOverlap &&
3206 (search->matchedIndex != USEARCH_DONE &&
3207 offset + search->matchedLength > textlength))) {
3220 search->isForwardSearching = TRUE;
3221 if (search->matchedIndex != USEARCH_DONE) {
3224 return search->matchedIndex;
3230 if (search->matchedIndex == USEARCH_DONE) {
3231 search->matchedIndex = offset;
3234 UTF_FWD_1(search->text, search->matchedIndex, textlength);
3237 search->matchedLength = 0;
3238 setColEIterOffset(strsrch->textIter, search->matchedIndex);
3240 if (search->matchedIndex == textlength) {
3241 search->matchedIndex = USEARCH_DONE;
3245 if (search->matchedLength > 0) {
3247 if (search->isOverlap) {
3252 offset + search->matchedLength, status);
3258 // note search->matchedIndex will always be set to something
3260 search->matchedIndex = offset - 1;
3263 if (search->isCanonicalMatch) {
3277 if (search->matchedIndex == USEARCH_DONE) {
3278 ucol_setOffset(strsrch->textIter, search->textLength, status);
3280 ucol_setOffset(strsrch->textIter, search->matchedIndex, status);
3284 return search->matchedIndex;
3295 USearch *search = strsrch->search;
3296 if (search->reset) {
3297 offset = search->textLength;
3298 search->isForwardSearching = FALSE;
3299 search->reset = FALSE;
3306 int32_t matchedindex = search->matchedIndex;
3307 if (search->isForwardSearching == TRUE) {
3313 search->isForwardSearching = FALSE;
3321 (!search->isOverlap &&
3331 // linear search will do the right thing
3341 search->matchedIndex =
3343 if (search->matchedIndex == 0) {
3348 UTF_BACK_1(search->text, 0, search->matchedIndex);
3349 setColEIterOffset(strsrch->textIter, search->matchedIndex);
3351 search->matchedLength = 0;
3356 if (search->matchedIndex != USEARCH_DONE) {
3357 if (search->isOverlap) {
3358 ucol_setOffset(strsrch->textIter, search->matchedIndex + search->matchedLength - 2, status);
3363 if (strsrch->search->isCanonicalMatch) {
3378 return search->matchedIndex;
3390 string search, hence all attributes in the collator should
3433 uprv_init_collIterate(strsrch->collator, strsrch->search->text,
3434 strsrch->search->textLength,
3436 strsrch->search->matchedLength = 0;
3437 strsrch->search->matchedIndex = USEARCH_DONE;
3438 strsrch->search->isOverlap = FALSE;
3439 strsrch->search->isCanonicalMatch = FALSE;
3440 strsrch->search->isForwardSearching = TRUE;
3441 strsrch->search->reset = TRUE;
3603 const UChar *text = strsrch->search->text;
3604 int32_t textLen = strsrch->search->textLength;
3640 UBreakIterator *breakiterator = strsrch->search->breakIter;
3643 breakiterator = strsrch->search->internalBreakIter;
3665 const UChar *text = strsrch->search->text;
3666 int32_t textLen = strsrch->search->textLength;
3691 UBreakIterator *breakiterator = strsrch->search->breakIter;
3694 breakiterator = strsrch->search->internalBreakIter;
3708 UBreakIterator *breakiterator = strsrch->search->breakIter;
3740 // TODO: reject search patterns beginning with a combining char.
3757 startIdx > strsrch->search->textLength ||
3935 // TODO: reject search patterns beginning with a combining char.
3952 startIdx > strsrch->search->textLength ||
3974 if (startIdx < strsrch->search->textLength) {
3975 UBreakIterator *bi = strsrch->search->internalBreakIter;
4157 int32_t textlength = strsrch->search->textLength;
4178 // for example: search for pattern A in text \u00C0
4238 setColEIterOffset(coleiter, strsrch->search->matchedIndex);
4250 strsrch->search->matchedIndex = start;
4251 strsrch->search->matchedLength = end - start;
4269 int32_t textlength = strsrch->search->textLength;
4292 // for example: search for pattern A in text \u00C0
4351 setColEIterOffset(coleiter, strsrch->search->matchedIndex);
4363 strsrch->search->matchedIndex = start;
4364 strsrch->search->matchedLength = end - start;
4389 if (strsrch->search->matchedIndex != USEARCH_DONE) {
4390 textoffset = strsrch->search->matchedIndex;
4408 // characters. for example: search for pattern \u0300 in text
4478 strsrch->search->matchedIndex = start;
4479 strsrch->search->matchedLength = end - start;
4507 if (strsrch->search->matchedIndex != USEARCH_DONE) {
4508 textoffset = strsrch->search->matchedIndex;
4526 // characters. for example: search for pattern \u0300 in text
4601 strsrch->search->matchedIndex = start;
4602 strsrch->search->matchedLength = end - start;