equal
deleted
inserted
replaced
22 |
22 |
23 #include <stdlib.h> |
23 #include <stdlib.h> |
24 |
24 |
25 void flib_gamesetup_destroy(flib_gamesetup *gamesetup) { |
25 void flib_gamesetup_destroy(flib_gamesetup *gamesetup) { |
26 if(gamesetup) { |
26 if(gamesetup) { |
27 free(gamesetup->script); |
27 free(gamesetup->style); |
28 flib_scheme_release(gamesetup->gamescheme); |
28 flib_scheme_destroy(gamesetup->gamescheme); |
29 flib_map_release(gamesetup->map); |
29 flib_map_destroy(gamesetup->map); |
30 flib_teamlist_destroy(gamesetup->teamlist); |
30 flib_teamlist_destroy(gamesetup->teamlist); |
31 free(gamesetup); |
31 free(gamesetup); |
32 } |
32 } |
33 } |
33 } |
34 |
34 |
37 return NULL; |
37 return NULL; |
38 } |
38 } |
39 |
39 |
40 flib_gamesetup *result = flib_calloc(1, sizeof(flib_gamesetup)); |
40 flib_gamesetup *result = flib_calloc(1, sizeof(flib_gamesetup)); |
41 if(result) { |
41 if(result) { |
42 result->script = flib_strdupnull(setup->script); |
42 result->style = flib_strdupnull(setup->style); |
43 result->gamescheme = flib_scheme_copy(setup->gamescheme); |
43 result->gamescheme = flib_scheme_copy(setup->gamescheme); |
44 result->map = flib_map_copy(setup->map); |
44 result->map = flib_map_copy(setup->map); |
45 result->teamlist = flib_teamlist_copy(setup->teamlist); |
45 result->teamlist = flib_teamlist_copy(setup->teamlist); |
46 if((setup->script && !result->script) |
46 if((setup->style && !result->style) |
47 || (setup->gamescheme && !result->gamescheme) |
47 || (setup->gamescheme && !result->gamescheme) |
48 || (setup->map && !result->map) |
48 || (setup->map && !result->map) |
49 || (setup->teamlist && !result->teamlist)) { |
49 || (setup->teamlist && !result->teamlist)) { |
50 flib_gamesetup_destroy(result); |
50 flib_gamesetup_destroy(result); |
51 result = NULL; |
51 result = NULL; |