equal
deleted
inserted
replaced
32 static void flib_cfg_destroy(flib_cfg* cfg) { |
32 static void flib_cfg_destroy(flib_cfg* cfg) { |
33 if(cfg) { |
33 if(cfg) { |
34 flib_cfg_meta_release(cfg->meta); |
34 flib_cfg_meta_release(cfg->meta); |
35 free(cfg->mods); |
35 free(cfg->mods); |
36 free(cfg->settings); |
36 free(cfg->settings); |
37 free(cfg->schemeName); |
37 free(cfg->name); |
38 free(cfg); |
38 free(cfg); |
39 } |
39 } |
40 } |
40 } |
41 |
41 |
42 static flib_cfg_meta *flib_cfg_meta_from_ini_handleError(flib_cfg_meta *result, flib_ini *ini) { |
42 static flib_cfg_meta *flib_cfg_meta_from_ini_handleError(flib_cfg_meta *result, flib_ini *ini) { |
153 flib_log_e("null parameter in flib_cfg_create"); |
153 flib_log_e("null parameter in flib_cfg_create"); |
154 return NULL; |
154 return NULL; |
155 } |
155 } |
156 |
156 |
157 result->meta = flib_cfg_meta_retain(meta); |
157 result->meta = flib_cfg_meta_retain(meta); |
158 result->schemeName = flib_strdupnull(schemeName); |
158 result->name = flib_strdupnull(schemeName); |
159 result->mods = flib_calloc(meta->modCount, sizeof(*result->mods)); |
159 result->mods = flib_calloc(meta->modCount, sizeof(*result->mods)); |
160 result->settings = flib_calloc(meta->settingCount, sizeof(*result->settings)); |
160 result->settings = flib_calloc(meta->settingCount, sizeof(*result->settings)); |
161 |
161 |
162 if(!result->mods || !result->settings || !result->schemeName) { |
162 if(!result->mods || !result->settings || !result->name) { |
163 flib_cfg_destroy(result); |
163 flib_cfg_destroy(result); |
164 return NULL; |
164 return NULL; |
165 } |
165 } |
166 |
166 |
167 for(int i=0; i<meta->settingCount; i++) { |
167 for(int i=0; i<meta->settingCount; i++) { |
171 } |
171 } |
172 |
172 |
173 flib_cfg *flib_cfg_copy(flib_cfg *cfg) { |
173 flib_cfg *flib_cfg_copy(flib_cfg *cfg) { |
174 flib_cfg *result = NULL; |
174 flib_cfg *result = NULL; |
175 if(cfg) { |
175 if(cfg) { |
176 result = flib_cfg_create(cfg->meta, cfg->schemeName); |
176 result = flib_cfg_create(cfg->meta, cfg->name); |
177 if(result) { |
177 if(result) { |
178 memcpy(result->mods, cfg->mods, cfg->meta->modCount * sizeof(*cfg->mods)); |
178 memcpy(result->mods, cfg->mods, cfg->meta->modCount * sizeof(*cfg->mods)); |
179 memcpy(result->settings, cfg->settings, cfg->meta->settingCount * sizeof(*cfg->settings)); |
179 memcpy(result->settings, cfg->settings, cfg->meta->settingCount * sizeof(*cfg->settings)); |
180 } |
180 } |
181 } |
181 } |