]> git.ipfire.org Git - thirdparty/linux.git/blame - scripts/kconfig/mnconf-common.c
pidfs: remove config option
[thirdparty/linux.git] / scripts / kconfig / mnconf-common.c
CommitLineData
6c07fd84
MY
1// SPDX-License-Identifier: GPL-2.0-only
2#include "expr.h"
3#include "list.h"
4#include "mnconf-common.h"
5
6int jump_key_char;
7
8int next_jump_key(int key)
9{
10 if (key < '1' || key > '9')
11 return '1';
12
13 key++;
14
15 if (key > '9')
16 key = '1';
17
18 return key;
19}
20
21int handle_search_keys(int key, size_t start, size_t end, void *_data)
22{
23 struct search_data *data = _data;
24 struct jump_key *pos;
25 int index = 0;
26
27 if (key < '1' || key > '9')
28 return 0;
29
30 list_for_each_entry(pos, data->head, entries) {
31 index = next_jump_key(index);
32
33 if (pos->offset < start)
34 continue;
35
36 if (pos->offset >= end)
37 break;
38
39 if (key == index) {
40 data->target = pos->target;
41 return 1;
42 }
43 }
44
45 return 0;
46}
47
48int get_jump_key_char(void)
49{
50 jump_key_char = next_jump_key(jump_key_char);
51
52 return jump_key_char;
53}