Lines Matching refs:search

0 /* search.c -- How to search large bodies of text. */
26 #include "search.h"
29 /* The search functions take two arguments:
31 1) a string to search for, and
34 and end of the search.
77 The search is forwards if BINDING->start is greater than BINDING->end. */
79 search (string, binding)
85 /* If the search is backwards, then search backwards, otherwise forwards. */
106 /* We match characters in the search buffer against STRING and ALTERNATE.
168 /* Reverse the characters in the search string. */
175 /* We match characters in the search buffer against STRING and ALTERNATE.
228 Return an offset of -1 if STRING does not appear in LINE. The search
257 search_end = search (string, binding);
386 BINDING-buffer. The search starts at BINDING->start. Return -1 if no node
454 binding starting the search at binding->start. */
459 SEARCH_BINDING search;
462 search.buffer = binding->buffer;
463 search.start = binding->start;
464 search.end = binding->end;
465 search.flags = S_FoldCase;
467 while ((position = find_node_separator (&search)) != -1 )
469 search.start = position;
470 search.start += skip_node_separator (search.buffer + search.start);
472 if (looking_at (TAGS_TABLE_BEG_LABEL, &search))
479 This is a brute force search, and we wish to avoid it when possible.
490 SEARCH_BINDING search;
494 search.buffer = binding->buffer;
495 search.start = binding->start;
496 search.end = binding->end;
497 search.flags = 0;
499 while ((position = find_node_separator (&search)) != -1)
501 search.start = position;
502 search.start += skip_node_separator (search.buffer + search.start);
504 offset = string_in_line (INFO_NODE_LABEL, search.buffer + search.start);
509 search.start += offset;
510 search.start += skip_whitespace (search.buffer + search.start);
512 (search.buffer + search.start, DONT_SKIP_NEWLINES);
517 (search.buffer[search.start] == nodename[0]) &&
518 (strncmp (search.buffer + search.start, nodename, offset) == 0))