Skip to content

Commit

Permalink
DED Parser|Fixed: Don't log an unknown flag warning if flag name is w…
Browse files Browse the repository at this point in the history
…hitespace
  • Loading branch information
danij-deng committed Jun 16, 2012
1 parent a7f7a65 commit b14e135
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 6 deletions.
18 changes: 15 additions & 3 deletions doomsday/engine/portable/src/def_main.c
Expand Up @@ -590,11 +590,20 @@ ded_ptcgen_t* Def_GetDamageGenerator(int mobjType)

int Def_GetFlagValue(const char* flag)
{
int i;
int i;

if(!flag || !flag[0])
{
DEBUG_Message(("Attempted Def_GetFlagValue with %s flag argument.\n",
flag? "zero-length" : "<null>"));
return 0;
}

for(i = defs.count.flags.num - 1; i >= 0; i--)
{
if(!stricmp(defs.flags[i].id, flag))
return defs.flags[i].value;
}

Con_Message("Warning: Def_GetFlagValue: Undefined flag '%s'.\n", flag);
return 0;
Expand Down Expand Up @@ -1554,7 +1563,7 @@ static int Friendly(int num)
*/
void Def_CopyLineType(linetype_t* l, ded_linetype_t* def)
{
int i, k, a, temp;
int i, k, a, temp;

l->id = def->id;
l->flags = def->flags[0];
Expand Down Expand Up @@ -1629,8 +1638,11 @@ void Def_CopyLineType(linetype_t* l, ded_linetype_t* def)
temp = Def_EvalFlags(def->iparmStr[k]);
if(temp)
l->iparm[k] = temp;
} else
}
else
{
l->iparm[k] = Friendly(Def_GetMusicNum(def->iparmStr[k]));
}
}
else
{
Expand Down
20 changes: 17 additions & 3 deletions doomsday/engine/portable/src/def_read.c
Expand Up @@ -504,7 +504,7 @@ static int ReadFloat(float* dest)

static int ReadFlags(int* dest, const char* prefix)
{
char flag[1024];
char flag[1024];

// By default, no flags are set.
*dest = 0;
Expand All @@ -517,7 +517,16 @@ static int ReadFlags(int* dest, const char* prefix)
if(!ReadString(flag, sizeof(flag)))
return false;

*dest = Def_EvalFlags(flag);
M_Strip(flag, sizeof(flag));

if(strlen(flag))
{
*dest = Def_EvalFlags(flag);
}
else
{
*dest = 0;
}
return true;
}

Expand All @@ -535,7 +544,12 @@ static int ReadFlags(int* dest, const char* prefix)
strcpy(flag, token);
}

*dest |= Def_EvalFlags(flag);
M_Strip(flag, sizeof(flag));

if(strlen(flag))
{
*dest |= Def_EvalFlags(flag);
}

if(!ReadToken())
break;
Expand Down

0 comments on commit b14e135

Please sign in to comment.