// SPDX-License-Identifier: GPL-2.0-only#include <list.h>#include "expr.h"#include "mnconf-common.h" int jump_key_char; int next_jump_key(int key){ if (key < '1' || key > '9') return '1'; key++; if (key > '9') key = '1'; return key;} int handle_search_keys(int key, size_t start, size_t end, void *_data){ struct search_data *data = _data; struct jump_key *pos; int index = 0; if (key < '1' || key > '9') return 0; list_for_each_entry(pos, data->head, entries) { index = next_jump_key(index); if (pos->offset < start) continue; if (pos->offset >= end) break; if (key == index) { data->target = pos->target; return 1; } } return 0;} int get_jump_key_char(void){ jump_key_char = next_jump_key(jump_key_char); return jump_key_char;}
// SPDX-License-Identifier: GPL-2.0-only
#include <list.h>
#include "expr.h"
#include "mnconf-common.h"
int jump_key_char;
int next_jump_key(int key)
{
if (key < '1' || key > '9')
return '1';
key++;
if (key > '9')
key = '1';
return key;
}
int handle_search_keys(int key, size_t start, size_t end, void *_data)
{
struct search_data *data = _data;
struct jump_key *pos;
int index = 0;
if (key < '1' || key > '9')
return 0;
list_for_each_entry(pos, data->head, entries) {
index = next_jump_key(index);
if (pos->offset < start)
continue;
if (pos->offset >= end)
break;
if (key == index) {
data->target = pos->target;
return 1;
}
}
return 0;
}
int get_jump_key_char(void)
{
jump_key_char = next_jump_key(jump_key_char);
return jump_key_char;
}