mirror of
				https://github.com/swaywm/sway.git
				synced 2025-11-03 09:01:43 -05:00 
			
		
		
		
	add error handling for scroll button out of range
user will be informed if the scroll button indentifier values causes underflow or overflow.
This commit is contained in:
		
							parent
							
								
									89db5b5716
								
							
						
					
					
						commit
						f8bc928b2d
					
				
					 1 changed files with 8 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -1,5 +1,6 @@
 | 
			
		|||
#include <string.h>
 | 
			
		||||
#include <strings.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include "sway/config.h"
 | 
			
		||||
#include "sway/commands.h"
 | 
			
		||||
#include "sway/input/input-manager.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -18,13 +19,19 @@ struct cmd_results *input_cmd_scroll_button(int argc, char **argv) {
 | 
			
		|||
	struct input_config *new_config =
 | 
			
		||||
		new_input_config(current_input_config->identifier);
 | 
			
		||||
 | 
			
		||||
	errno = 0;
 | 
			
		||||
	char *endptr;
 | 
			
		||||
	long scroll_button = strtol(*argv, &endptr, 10);
 | 
			
		||||
	int scroll_button = strtol(*argv, &endptr, 10);
 | 
			
		||||
	if (endptr == *argv && scroll_button == 0) {
 | 
			
		||||
		free_input_config(new_config);
 | 
			
		||||
		return cmd_results_new(CMD_INVALID, "scroll_button",
 | 
			
		||||
				"Scroll button identifier must be an integer.");
 | 
			
		||||
	}
 | 
			
		||||
	if (errno == ERANGE) {
 | 
			
		||||
		free_input_config(new_config);
 | 
			
		||||
		return cmd_results_new(CMD_INVALID, "scroll_button",
 | 
			
		||||
				"Scroll button identifier out of range.");
 | 
			
		||||
	}
 | 
			
		||||
	if (scroll_button < 0) {
 | 
			
		||||
		free_input_config(new_config);
 | 
			
		||||
		return cmd_results_new(CMD_INVALID, "scroll_button",
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue