Exemple #1
0
static void free_mode(struct sway_mode *mode) {
	free(mode->name);
	int i;
	for (i = 0; i < mode->bindings->length; ++i) {
		free_binding(mode->bindings->items[i]);
	}
	list_free(mode->bindings);
	free(mode);
}
Exemple #2
0
Binding *free_binding(Binding *binding) {
    if (binding->reference_count > 1L) {
        binding->reference_count--;
        return binding->parent;
    }
    Binding *parent = binding->parent;
    Entry *entry = binding->first;
    while (entry != NULL) {
        Entry *next = entry->next;
        destroy(free_entry(entry));
        entry = next;
    }
    free_binding(binding->parent);
    free(binding);
    return parent;
}
Exemple #3
0
static void
free_binding (krb5_context context, krb5_config_binding *b)
{
    krb5_config_binding *next_b;

    while (b) {
	free (b->name);
	if (b->type == krb5_config_string)
	    free (b->u.string);
	else if (b->type == krb5_config_list)
	    free_binding (context, b->u.list);
	else
	    krb5_abortx(context, "unknown binding type (%d) in free_binding", 
			b->type);
	next_b = b->next;
	free (b);
	b = next_b;
    }
}
Exemple #4
0
krb5_error_code KRB5_LIB_FUNCTION
krb5_config_file_free (krb5_context context, krb5_config_section *s)
{
    free_binding (context, s);
    return 0;
}