1
0
Fork 0

(svn r7517) -Codechange: Set pointers to NULL when freeing the newgrf config variables and add the proper const to CopyGRFConfigList

release/0.5
Darkvater 2006-12-20 20:43:52 +00:00
parent 9011371e83
commit 1812bcfc8c
3 changed files with 12 additions and 10 deletions

View File

@ -82,15 +82,16 @@ bool FillGRFDetails(GRFConfig *config, bool is_static)
} }
void ClearGRFConfig(GRFConfig *config) void ClearGRFConfig(GRFConfig **config)
{ {
/* GCF_COPY as in NOT strdupped/alloced the filename, name and info */ /* GCF_COPY as in NOT strdupped/alloced the filename, name and info */
if (!HASBIT(config->flags, GCF_COPY)) { if (!HASBIT((*config)->flags, GCF_COPY)) {
free(config->filename); free((*config)->filename);
free(config->name); free((*config)->name);
free(config->info); free((*config)->info);
} }
free(config); free(*config);
*config = NULL;
} }
@ -100,13 +101,13 @@ void ClearGRFConfigList(GRFConfig *config)
GRFConfig *c, *next; GRFConfig *c, *next;
for (c = config; c != NULL; c = next) { for (c = config; c != NULL; c = next) {
next = c->next; next = c->next;
ClearGRFConfig(c); ClearGRFConfig(&c);
} }
} }
/* Copy a GRF Config list */ /* Copy a GRF Config list */
static GRFConfig **CopyGRFConfigList(GRFConfig **dst, GRFConfig *src) GRFConfig **CopyGRFConfigList(GRFConfig **dst, const GRFConfig *src)
{ {
GRFConfig *c; GRFConfig *c;

View File

@ -43,7 +43,8 @@ extern GRFConfig *_grfconfig_static;
void ScanNewGRFFiles(void); void ScanNewGRFFiles(void);
const GRFConfig *FindGRFConfig(uint32 grfid, uint8 *md5sum); const GRFConfig *FindGRFConfig(uint32 grfid, uint8 *md5sum);
GRFConfig *GetGRFConfig(uint32 grfid); GRFConfig *GetGRFConfig(uint32 grfid);
void ClearGRFConfig(GRFConfig *config); GRFConfig **CopyGRFConfigList(GRFConfig **dst, const GRFConfig *src);
void ClearGRFConfig(GRFConfig **config);
void ClearGRFConfigList(GRFConfig *config); void ClearGRFConfigList(GRFConfig *config);
void ResetGRFConfig(bool defaults); void ResetGRFConfig(bool defaults);
bool IsGoodGRFConfigList(void); bool IsGoodGRFConfigList(void);

View File

@ -1534,7 +1534,7 @@ static GRFConfig *GRFLoadConfig(IniFile *ini, const char *grpname, bool is_stati
} }
ShowInfoF("ini: ignoring invalid NewGRF '%s': %s", item->name, msg); ShowInfoF("ini: ignoring invalid NewGRF '%s': %s", item->name, msg);
ClearGRFConfig(c); ClearGRFConfig(&c);
continue; continue;
} }