do_again:
for(i = 0; sn->variables[i] != NULL; i++) {
if(sn->variables[i] != NULL) {
- free(sn->variables[i]->key);
if(sn->variables[i]->value != NULL) {
+ free(sn->variables[i]->key);
sn_generic_free(sn, sn->variables[i]->value);
goto do_again;
}
free(g->name);
}
if(sn == NULL) return;
+regen:;
int i;
for(i = 0; sn->generics[i] != NULL; i++)
;
}
gens[i][count] = NULL;
free(oldgens[k]);
+ free(sn->generics);
+ sn->generics = gens;
+ goto regen;
}
}
- free(sn->generics);
- sn->generics = gens;
if(sn->variables != NULL) {
for(i = 0; sn->variables[i] != NULL; i++)