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)
}
}
-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);
*/
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");
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;
}