Mercurial > hg > openttd
changeset 14524:02ddea71c644 draft
(svn r19095) -Fix: segfault when a baseset has an empty metadata field
author | yexo <yexo@openttd.org> |
---|---|
date | Thu, 11 Feb 2010 15:08:55 +0000 |
parents | f475a3b90d22 |
children | 9843e2e409f4 |
files | src/base_media_func.h src/music.cpp |
diffstat | 2 files changed, 2 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/base_media_func.h +++ b/src/base_media_func.h @@ -24,7 +24,7 @@ */ #define fetch_metadata(name) \ item = metadata->GetItem(name, false); \ - if (item == NULL || strlen(item->value) == 0) { \ + if (item == NULL || StrEmpty(item->value)) { \ DEBUG(grf, 0, "Base " SET_TYPE "set detail loading: %s field missing", name); \ return false; \ }
--- a/src/music.cpp +++ b/src/music.cpp @@ -56,17 +56,6 @@ return BaseMedia<Tbase_set>::used_set != NULL; } -/** - * Try to read a single piece of metadata and return false if it doesn't exist. - * @param name the name of the item to fetch. - */ -#define fetch_name(name) \ - item = metadata->GetItem(name, false); \ - if (item == NULL || strlen(item->value) == 0) { \ - DEBUG(grf, 0, "Base " SET_TYPE "set detail loading: %s field missing", name); \ - return false; \ - } - bool MusicSet::FillSetDetails(IniFile *ini, const char *path) { bool ret = this->BaseSet<MusicSet, NUM_SONGS_AVAILABLE, GM_DIR>::FillSetDetails(ini, path); @@ -81,7 +70,7 @@ } IniItem *item = names->GetItem(filename, false); - if (item == NULL || strlen(item->value) == 0) { + if (item == NULL || StrEmpty(item->value)) { DEBUG(grf, 0, "Base music set song name missing: %s", filename); return false; }