replaced glib function calls to g_string_*()
[rocksndiamonds.git] / src / game_bd / bd_bdcff.c
index 8b7164b902cd83e82f505bcd86be440159a6726f..06e5e06ba2ae607c43ff4852e18c682db76e31c1 100644 (file)
@@ -107,17 +107,17 @@ static boolean attrib_is_valid_for_cave(const char *attrib)
   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 */
@@ -151,7 +151,7 @@ static boolean struct_set_property(gpointer str, const GdStructDescriptor *prop_
   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...
@@ -188,12 +188,10 @@ static boolean struct_set_property(gpointer str, const GdStructDescriptor *prop_
 
       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;
@@ -330,7 +328,7 @@ static boolean struct_set_property(gpointer str, const GdStructDescriptor *prop_
   if (identifier_found && !was_string && paramindex < paramcount)
     Warn("excess parameters for attribute '%s': '%s'", attrib, params[paramindex]);
 
-  g_strfreev(params);
+  freeStringArray(params);
 
   return identifier_found;
 }
@@ -352,7 +350,7 @@ static boolean replay_store_more_from_bdcff(GdReplay *replay, const char *param)
   for (i = 0; split[i] != 0; i++)
     result = result && replay_store_from_bdcff(replay, split[i]);
 
-  g_strfreev(split);
+  freeStringArray(split);
 
   return result;
 }
@@ -482,7 +480,7 @@ static boolean cave_process_tags_func(const char *attrib, const char *param, GdC
     identifier_found = struct_set_property(cave, gd_cave_properties, attrib, param, cave->w * cave->h);
   }
 
-  g_strfreev(params);
+  freeStringArray(params);
 
   /* a ghrfunc should return true if the identifier is to be removed */
   return identifier_found;
@@ -676,7 +674,7 @@ boolean gd_caveset_load_from_bdcff(const char *contents)
   default_cave = gd_cave_new();
   cave = default_cave;
 
-  linenum = g_strv_length(lines);
+  linenum = getStringArrayLength(lines);
 
   for (lineno = 0; lineno < linenum; lineno++)
   {
@@ -1051,7 +1049,7 @@ boolean gd_caveset_load_from_bdcff(const char *contents)
        params = getSplitStringArray(param, " ", -1);
 
        /* an effect command has two parameters */
-       if (g_strv_length(params) == 2)
+       if (getStringArrayLength(params) == 2)
        {
          int i;
 
@@ -1095,7 +1093,7 @@ boolean gd_caveset_load_from_bdcff(const char *contents)
        else
          Warn("invalid effect specification '%s'", param);
 
-       g_strfreev(params);
+       freeStringArray(params);
       }
       else
       {
@@ -1149,7 +1147,7 @@ boolean gd_caveset_load_from_bdcff(const char *contents)
     Warn(_("Invalid BDCFF: [game] section has drawing objects defined"));
 
   /* cleanup */
-  g_strfreev (lines);
+  freeStringArray(lines);
   g_hash_table_destroy(tags);
   g_hash_table_destroy(replay_tags);
   gd_cave_free(default_cave);