degesch: sort modes on change
This commit is contained in:
		@@ -4000,6 +4000,12 @@ mode_processor_run (struct mode_processor *self,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static int
 | 
			
		||||
mode_char_cmp (const void *a, const void *b)
 | 
			
		||||
{
 | 
			
		||||
	return *(const char *) a - *(const char *) b;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void
 | 
			
		||||
mode_processor_toggle (struct mode_processor *self, struct str *modes)
 | 
			
		||||
{
 | 
			
		||||
@@ -4010,7 +4016,7 @@ mode_processor_toggle (struct mode_processor *self, struct str *modes)
 | 
			
		||||
	if (self->adding)
 | 
			
		||||
	{
 | 
			
		||||
		str_append_c (modes, self->mode_char);
 | 
			
		||||
		// TODO: sort the modes
 | 
			
		||||
		qsort (modes->str, modes->len, 1, mode_char_cmp);
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
		str_remove_slice (modes, pos - modes->str, 1);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user