mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
This commit is contained in:
		
							
								
								
									
										29
									
								
								options.c
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								options.c
									
									
									
									
									
								
							@@ -741,7 +741,7 @@ options_scope_from_name(struct args *args, int window,
 | 
				
			|||||||
	struct window_pane			*wp = fs->wp;
 | 
						struct window_pane			*wp = fs->wp;
 | 
				
			||||||
	const char				*target = args_get(args, 't');
 | 
						const char				*target = args_get(args, 't');
 | 
				
			||||||
	const struct options_table_entry	*oe;
 | 
						const struct options_table_entry	*oe;
 | 
				
			||||||
	int					 scope;
 | 
						int					 scope = OPTIONS_TABLE_NONE;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (*name == '@')
 | 
						if (*name == '@')
 | 
				
			||||||
		return (options_scope_from_flags(args, window, fs, oo, cause));
 | 
							return (options_scope_from_flags(args, window, fs, oo, cause));
 | 
				
			||||||
@@ -754,21 +754,23 @@ options_scope_from_name(struct args *args, int window,
 | 
				
			|||||||
		xasprintf(cause, "unknown option: %s", name);
 | 
							xasprintf(cause, "unknown option: %s", name);
 | 
				
			||||||
		return (OPTIONS_TABLE_NONE);
 | 
							return (OPTIONS_TABLE_NONE);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	scope = oe->scope;
 | 
						switch (oe->scope) {
 | 
				
			||||||
 | 
					 | 
				
			||||||
	switch (scope) {
 | 
					 | 
				
			||||||
	case OPTIONS_TABLE_SERVER:
 | 
						case OPTIONS_TABLE_SERVER:
 | 
				
			||||||
		*oo = global_options;
 | 
							*oo = global_options;
 | 
				
			||||||
 | 
							scope = OPTIONS_TABLE_SERVER;
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OPTIONS_TABLE_SESSION:
 | 
						case OPTIONS_TABLE_SESSION:
 | 
				
			||||||
		if (args_has(args, 'g'))
 | 
							if (args_has(args, 'g')) {
 | 
				
			||||||
			*oo = global_s_options;
 | 
								*oo = global_s_options;
 | 
				
			||||||
		else if (s == NULL && target != NULL)
 | 
								scope = OPTIONS_TABLE_SESSION;
 | 
				
			||||||
 | 
							} else if (s == NULL && target != NULL)
 | 
				
			||||||
			xasprintf(cause, "no such session: %s", target);
 | 
								xasprintf(cause, "no such session: %s", target);
 | 
				
			||||||
		else if (s == NULL)
 | 
							else if (s == NULL)
 | 
				
			||||||
			xasprintf(cause, "no current session");
 | 
								xasprintf(cause, "no current session");
 | 
				
			||||||
		else
 | 
							else {
 | 
				
			||||||
			*oo = s->options;
 | 
								*oo = s->options;
 | 
				
			||||||
 | 
								scope = OPTIONS_TABLE_SESSION;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	case OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE:
 | 
						case OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE:
 | 
				
			||||||
		if (args_has(args, 'p')) {
 | 
							if (args_has(args, 'p')) {
 | 
				
			||||||
@@ -776,21 +778,26 @@ options_scope_from_name(struct args *args, int window,
 | 
				
			|||||||
				xasprintf(cause, "no such pane: %s", target);
 | 
									xasprintf(cause, "no such pane: %s", target);
 | 
				
			||||||
			else if (wp == NULL)
 | 
								else if (wp == NULL)
 | 
				
			||||||
				xasprintf(cause, "no current pane");
 | 
									xasprintf(cause, "no current pane");
 | 
				
			||||||
			else
 | 
								else {
 | 
				
			||||||
				*oo = wp->options;
 | 
									*oo = wp->options;
 | 
				
			||||||
 | 
									scope = OPTIONS_TABLE_PANE;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
			break;
 | 
								break;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		scope = OPTIONS_TABLE_WINDOW;
 | 
							scope = OPTIONS_TABLE_WINDOW;
 | 
				
			||||||
		/* FALLTHROUGH */
 | 
							/* FALLTHROUGH */
 | 
				
			||||||
	case OPTIONS_TABLE_WINDOW:
 | 
						case OPTIONS_TABLE_WINDOW:
 | 
				
			||||||
		if (args_has(args, 'g'))
 | 
							if (args_has(args, 'g')) {
 | 
				
			||||||
			*oo = global_w_options;
 | 
								*oo = global_w_options;
 | 
				
			||||||
		else if (wl == NULL && target != NULL)
 | 
								scope = OPTIONS_TABLE_WINDOW;
 | 
				
			||||||
 | 
							} else if (wl == NULL && target != NULL)
 | 
				
			||||||
			xasprintf(cause, "no such window: %s", target);
 | 
								xasprintf(cause, "no such window: %s", target);
 | 
				
			||||||
		else if (wl == NULL)
 | 
							else if (wl == NULL)
 | 
				
			||||||
			xasprintf(cause, "no current window");
 | 
								xasprintf(cause, "no current window");
 | 
				
			||||||
		else
 | 
							else {
 | 
				
			||||||
			*oo = wl->window->options;
 | 
								*oo = wl->window->options;
 | 
				
			||||||
 | 
								scope = OPTIONS_TABLE_WINDOW;
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
		break;
 | 
							break;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	return (scope);
 | 
						return (scope);
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user