Lines Matching refs:back

106 	unsigned char *back, *front;  in main()  local
158 back = front + sb.st_size; in main()
159 match *= (look(key, front, back)); in main()
198 look(wchar_t *string, unsigned char *front, unsigned char *back) in look() argument
201 front = binary_search(string, front, back); in look()
202 front = linear_search(string, front, back); in look()
205 print_from(string, front, back); in look()
248 #define SKIP_PAST_NEWLINE(p, back) \ argument
249 while (p < back && *p++ != '\n');
252 binary_search(wchar_t *string, unsigned char *front, unsigned char *back) in binary_search() argument
256 p = front + (back - front) / 2; in binary_search()
257 SKIP_PAST_NEWLINE(p, back); in binary_search()
263 while (p < back && back > front) { in binary_search()
264 if (compare(string, p, back) == GREATER) in binary_search()
267 back = p; in binary_search()
268 p = front + (back - front) / 2; in binary_search()
269 SKIP_PAST_NEWLINE(p, back); in binary_search()
286 linear_search(wchar_t *string, unsigned char *front, unsigned char *back) in linear_search() argument
288 while (front < back) { in linear_search()
289 switch (compare(string, front, back)) { in linear_search()
297 SKIP_PAST_NEWLINE(front, back); in linear_search()
306 print_from(wchar_t *string, unsigned char *front, unsigned char *back) in print_from() argument
308 for (; front < back && compare(string, front, back) == EQUAL; ++front) { in print_from()
309 for (; front < back && *front != '\n'; ++front) in print_from()
331 compare(wchar_t *s1, unsigned char *s2, unsigned char *back) in compare() argument
336 for (; *s1 && s2 < back && *s2 != '\n'; ++s1, s2 += len2) { in compare()
338 len2 = mbrtowc(&ch2, s2, back - s2, NULL); in compare()