xkb: simplify loops in XkbRF_Free()
Make the code a bit easier to read by simplifying the loops. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net> Part-of: <https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1840>
This commit is contained in:
		
							parent
							
								
									abfbc76824
								
							
						
					
					
						commit
						a0c1eeea98
					
				|  | @ -971,31 +971,34 @@ XkbRF_LoadRules(FILE * file, XkbRF_RulesPtr rules) | ||||||
| void | void | ||||||
| XkbRF_Free(XkbRF_RulesPtr rules) | XkbRF_Free(XkbRF_RulesPtr rules) | ||||||
| { | { | ||||||
|     int i; |  | ||||||
|     XkbRF_RulePtr rule; |  | ||||||
|     XkbRF_GroupPtr group; |  | ||||||
| 
 |  | ||||||
|     if (!rules) |     if (!rules) | ||||||
|         return; |         return; | ||||||
|  | 
 | ||||||
|     if (rules->rules) { |     if (rules->rules) { | ||||||
|         for (i = 0, rule = rules->rules; i < rules->num_rules; i++, rule++) { |         XkbRF_RulePtr r = rules->rules; | ||||||
|             free((void *) rule->model); |         int num = rules->num_rules; | ||||||
|             free((void *) rule->layout); |         for (int i = 0; i < num; i++) { | ||||||
|             free((void *) rule->variant); |             // the typecast on free() is necessary because the pointers are const
 | ||||||
|             free((void *) rule->option); |             free((void *) r[i].model); | ||||||
|             free((void *) rule->keycodes); |             free((void *) r[i].layout); | ||||||
|             free((void *) rule->symbols); |             free((void *) r[i].variant); | ||||||
|             free((void *) rule->types); |             free((void *) r[i].option); | ||||||
|             free((void *) rule->compat); |             free((void *) r[i].keycodes); | ||||||
|             free((void *) rule->geometry); |             free((void *) r[i].symbols); | ||||||
|  |             free((void *) r[i].types); | ||||||
|  |             free((void *) r[i].compat); | ||||||
|  |             free((void *) r[i].geometry); | ||||||
|         } |         } | ||||||
|         free(rules->rules); |         free(rules->rules); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (rules->groups) { |     if (rules->groups) { | ||||||
|         for (i = 0, group = rules->groups; i < rules->num_groups; i++, group++) { |         XkbRF_GroupPtr g = rules->groups; | ||||||
|             free((void *) group->name); |         int num = rules->num_groups; | ||||||
|             free(group->words); |         for (int i = 0; i < num; i++) { | ||||||
|  |             // the typecast on free() is necessary because the pointers are const
 | ||||||
|  |             free((void *) g[i].name); | ||||||
|  |             free(g[i].words); | ||||||
|         } |         } | ||||||
|         free(rules->groups); |         free(rules->groups); | ||||||
|     } |     } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue