replaced glib function calls to g_print()
[rocksndiamonds.git] / src / game_bd / bd_caveset.c
index 49b6e1003a3ce3af82d66ecc5f23d43429107531..50598fb7a0ec4dbe69a68e0bc69f7bc582a4de78 100644 (file)
@@ -318,11 +318,11 @@ static void brc_import(guint8 *data)
       imported[level * 20 + cavenum] = cave;
 
       if (cavenum < 16)
-       g_snprintf(cave->name, sizeof(GdString), "Cave %c/%d", 'A' + cavenum,
-                  level + 1);
+       snprintf(cave->name, sizeof(GdString), "Cave %c/%d", 'A' + cavenum,
+                level + 1);
       else
-       g_snprintf(cave->name, sizeof(GdString), "Intermission %d/%d",
-                  cavenum - 15, level + 1);
+       snprintf(cave->name, sizeof(GdString), "Intermission %d/%d",
+                cavenum - 15, level + 1);
 
       /* fixed intermission caves; are smaller. */
       if (cavenum >= 16)
@@ -476,13 +476,13 @@ static void brc_import(guint8 *data)
   }
 }
 
-static void caveset_name_set_from_filename(const char *filename)
+static void caveset_name_set_from_filename(char *filename)
 {
   char *name;
   char *c;
 
   /* make up a caveset name from the filename. */
-  name = g_path_get_basename(filename);
+  name = getBaseName(filename);
   gd_strcpy(gd_caveset_data->name, name);
   free(name);
 
@@ -504,14 +504,13 @@ static void caveset_name_set_from_filename(const char *filename)
 */
 boolean gd_caveset_load_from_file(char *filename)
 {
-  GError *error = NULL;
   gsize length;
   char *buf;
-  boolean read;
   List *new_caveset;
   struct stat st;
+  File *file;
 
-  if (g_stat(filename, &st) != 0)
+  if (stat(filename, &st) != 0)
   {
     Warn("cannot stat() file");
 
@@ -525,12 +524,22 @@ boolean gd_caveset_load_from_file(char *filename)
     return FALSE;
   }
 
-  read = g_file_get_contents (filename, &buf, &length, &error);
-  if (!read)
+  if (!(file = openFile(filename, MODE_READ)))
   {
-    Warn("%s", error->message);
+    Warn("cannot open file '%s'", filename);
 
-    g_error_free(error);
+    return FALSE;
+  }
+
+  buf = checked_malloc(st.st_size + 1);
+  length = readFile(file, buf, 1, st.st_size);
+  buf[length] = '\0';
+
+  closeFile(file);
+
+  if (length < st.st_size)
+  {
+    Warn("cannot read file '%s'", filename);
 
     return FALSE;
   }