int i;
/* bdcff engine flag............ */
- if (strcasecmp(attrib, "Engine")==0)
+ if (strcasecmp(attrib, "Engine") == 0)
return TRUE;
/* old flags - for compatibility */
- if (strcasecmp(attrib, "BD1Scheduling")==0)
+ if (strcasecmp(attrib, "BD1Scheduling") == 0)
return TRUE;
- if (strcasecmp(attrib, "SnapExplosions")==0)
+ if (strcasecmp(attrib, "SnapExplosions") == 0)
return TRUE;
- if (strcasecmp(attrib, "AmoebaProperties")==0)
+ if (strcasecmp(attrib, "AmoebaProperties") == 0)
return TRUE;
/* search in property database */
boolean was_string;
params = getSplitStringArray(param, " ", -1);
- paramcount = g_strv_length(params);
+ paramcount = getStringArrayLength(params);
identifier_found = FALSE;
/* check all known tags. do not exit this loop if identifier_found == true...
if (prop_desc[i].type == GD_TYPE_LONGSTRING)
{
- GString *str = *(GString **)value;
- char *compressed;
+ char **str = (char **)value;
- compressed = g_strcompress(param);
- g_string_assign(str, compressed);
- free(compressed);
+ checked_free(*str);
+ *str = getUnescapedString(param);
/* remember this to skip checking the number of parameters at the end of the function */
was_string = TRUE;
Warn("unknown tag '%s'", attrib);
- g_hash_table_insert(cave->tags, g_strdup(attrib), g_strdup(param));
+ g_hash_table_insert(cave->tags, getStringCopy(attrib), getStringCopy(param));
}
/* having read all strings belonging to the cave, process it. */
default_cave = gd_cave_new();
cave = default_cave;
- linenum = g_strv_length(lines);
+ linenum = getStringArrayLength(lines);
for (lineno = 0; lineno < linenum; lineno++)
{
/* own tag: not too much thinking :P */
if (reading_replay)
{
- g_hash_table_insert(replay_tags, g_strdup(attrib), g_strdup(param));
+ g_hash_table_insert(replay_tags, getStringCopy(attrib), getStringCopy(param));
}
else if (reading_mapcodes)
{
params = getSplitStringArray(param, " ", -1);
/* an effect command has two parameters */
- if (g_strv_length(params) == 2)
+ if (getStringArrayLength(params) == 2)
{
int i;
{
/* it must be a default setting for all caves. is it a valid identifier? */
/* yes, it is. add to the hash table, which will be copied for all caves. */
- g_hash_table_insert(tags, g_strdup(attrib), g_strdup(param));
+ g_hash_table_insert(tags, getStringCopy(attrib), getStringCopy(param));
}
else
/* unknown setting - report. */
/* we are reading a [cave] */
/* cave settings are immediately added to cave hash table. */
/* if it is unknown, we have to remember it, and save it again. */
- g_hash_table_insert(tags, g_strdup(attrib), g_strdup(param));
+ g_hash_table_insert(tags, getStringCopy(attrib), getStringCopy(param));
}
}