mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	Move array_size.h, hashtable.h, list.h, list_types.h from scripts/kconfig/ to scripts/include/. These headers will be useful for other host programs. Remove scripts/mod/list.h. Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
		
			
				
	
	
		
			53 lines
		
	
	
	
		
			794 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
	
		
			794 B
		
	
	
	
		
			C
		
	
	
	
	
	
// 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;
 | 
						|
}
 |