Convert save filenames to UTF-8

Fixes #6
This commit is contained in:
Nunuhara Cabbage
2020-09-05 08:34:56 -07:00
parent c432d8fa2d
commit 4adb452490
2 changed files with 5 additions and 11 deletions
+4 -2
View File
@@ -73,10 +73,12 @@ char *gamedir_path(const char *path)
char *savedir_path(const char *filename)
{
char *path = xmalloc(strlen(config.save_dir) + 1 + strlen(filename) + 1);
char *utf = sjis2utf(filename, 0);
char *path = xmalloc(strlen(config.save_dir) + 1 + strlen(utf) + 1);
strcpy(path, config.save_dir);
strcat(path, "/");
strcat(path, filename);
strcat(path, utf);
free(utf);
return path;
}
+1 -9
View File
@@ -487,15 +487,7 @@ static void system_call(enum syscall_code code)
}
case SYS_EXISTS_SAVE_FILE: {
int slot = stack_pop().i;
struct string *name = heap[slot].s;
size_t dir_len = strlen(config.save_dir);
char *path = xmalloc(dir_len + 1 + name->size + 1);
strncpy(path, config.save_dir, dir_len);
path[dir_len] = '/';
strncpy(path+dir_len+1, name->text, name->size);
path[dir_len+1+name->size] = '\0';
char *path = savedir_path(heap[slot].s->text);
stack_push(file_exists(path));
heap_unref(slot);
free(path);