a goto is slightly better than that mess

This commit is contained in:
Andrei "Akari" Alexeyev 2017-03-25 02:31:10 +02:00
parent 754b660b07
commit 714b5111e8

View file

@ -44,12 +44,7 @@ void* load_model_begin(const char *path, unsigned int flags) {
#define BADREF(filename,aux,n) { \
log_warn("OBJ file '%s': Index %d: bad %s index reference\n", filename, n, aux); \
free(m->indices); \
free(m); \
free(verts); \
free_obj(data); \
free(data); \
return NULL; \
goto fail; \
}
memset(verts, 0, data->icount*sizeof(Vertex));
@ -90,6 +85,14 @@ void* load_model_begin(const char *path, unsigned int flags) {
ldata->model = m;
return ldata;
fail:
free(m->indices);
free(m);
free(verts);
free_obj(data);
free(data);
return NULL;
}
void* load_model_end(void *opaque, const char *path, unsigned int flags) {