Lines Matching defs:state
1021 static int do_match(int key, struct match_state *state, int *ans)
1026 if (key == '/' || (state->in_search && key == 27)) {
1030 state->in_search = 1-state->in_search;
1031 bzero(state->pattern, sizeof(state->pattern));
1032 state->match_direction = MATCH_TINKER_PATTERN_DOWN;
1034 } else if (!state->in_search)
1038 state->pattern[strlen(state->pattern)] = c;
1039 state->pattern[strlen(state->pattern)] = '\0';
1040 adj_match_dir(&state->match_direction);
1041 *ans = get_mext_match(state->pattern,
1042 state->match_direction);
1044 state->match_direction = FIND_NEXT_MATCH_DOWN;
1045 *ans = get_mext_match(state->pattern,
1046 state->match_direction);
1048 state->match_direction = FIND_NEXT_MATCH_UP;
1049 *ans = get_mext_match(state->pattern,
1050 state->match_direction);
1052 state->pattern[strlen(state->pattern)-1] = '\0';
1053 adj_match_dir(&state->match_direction);
1058 state->in_search = 0;
1059 bzero(state->pattern, sizeof(state->pattern));