Lines Matching refs:state
1092 static int do_match(int key, struct match_state *state, int *ans)
1097 if (key == '/' || (state->in_search && key == 27)) {
1101 state->in_search = 1-state->in_search;
1102 bzero(state->pattern, sizeof(state->pattern));
1103 state->match_direction = MATCH_TINKER_PATTERN_DOWN;
1105 } else if (!state->in_search)
1109 state->pattern[strlen(state->pattern)] = c;
1110 state->pattern[strlen(state->pattern)] = '\0';
1111 adj_match_dir(&state->match_direction);
1112 *ans = get_mext_match(state->pattern,
1113 state->match_direction);
1115 state->match_direction = FIND_NEXT_MATCH_DOWN;
1116 *ans = get_mext_match(state->pattern,
1117 state->match_direction);
1119 state->match_direction = FIND_NEXT_MATCH_UP;
1120 *ans = get_mext_match(state->pattern,
1121 state->match_direction);
1123 state->pattern[strlen(state->pattern)-1] = '\0';
1124 adj_match_dir(&state->match_direction);
1129 state->in_search = 0;
1130 bzero(state->pattern, sizeof(state->pattern));