static int set_c64_256k_filename(const char *name, void *param) { if (c64_256k_filename != NULL && name != NULL && strcmp(name, c64_256k_filename) == 0) return 0; if (name != NULL && *name != '\0') { if (util_check_filename_access(name) < 0) return -1; } if (c64_256k_enabled) { c64_256k_deactivate(); util_string_set(&c64_256k_filename, name); c64_256k_activate(); } else { util_string_set(&c64_256k_filename, name); } return 0; }
static int set_petdww_filename(const char *name, void *param) { if (petdww_filename != NULL && name != NULL && strcmp(name, petdww_filename) == 0) return 0; if (name != NULL && *name != '\0') { if (util_check_filename_access(name) < 0) return -1; } if (petdww_enabled) { petdww_deactivate(); util_string_set(&petdww_filename, name); petdww_activate(); } else { util_string_set(&petdww_filename, name); } return 0; }
static int set_ramcart_filename(const char *name, void *param) { if (ramcart_filename != NULL && name != NULL && strcmp(name, ramcart_filename) == 0) { return 0; } if (name != NULL && *name != '\0') { if (util_check_filename_access(name) < 0) { return -1; } } if (ramcart_enabled) { ramcart_deactivate(); util_string_set(&ramcart_filename, name); ramcart_activate(); } else { util_string_set(&ramcart_filename, name); } return 0; }
static int set_mmc64_image_filename(const char *name, void *param) { if (mmc64_image_filename != NULL && name != NULL && strcmp(name, mmc64_image_filename) == 0) { return 0; } if (name != NULL && *name != '\0') { if (util_check_filename_access(name) < 0) { return -1; } } if (mmc64_enabled) { mmc64_deactivate(); util_string_set(&mmc64_image_filename, name); mmc64_activate(); } else { util_string_set(&mmc64_image_filename, name); } return 0; }
/* TODO: make sure setting filename works under all conditions */ static int set_expert_filename(const char *name, void *param) { if (expert_filename != NULL && name != NULL && strcmp(name, expert_filename) == 0) { return 0; } if (name != NULL && *name != '\0') { if (util_check_filename_access(name) < 0) { return -1; } } if (expert_enabled) { expert_deactivate(); } util_string_set(&expert_filename, name); if (expert_enabled) { expert_activate(); } return 0; }
static int set_mmc64_bios_filename(const char *name, void *param) { int enabled; if (name != NULL && *name != '\0') { if (util_check_filename_access(name) < 0) { return -1; } } LOG(("MMC64: set_name: %d '%s'", mmc64_enabled, mmc64_bios_filename)); util_string_set(&mmc64_bios_filename, name); resources_get_int("MMC64", &enabled); if (set_mmc64_enabled(enabled, (void*)1) < 0) { lib_free(mmc64_bios_filename); mmc64_bios_filename = NULL; LOG(("MMC64: set_name done: %d '%s'", mmc64_enabled, mmc64_bios_filename)); return -1; } LOG(("MMC64: set_name done: %d '%s'", mmc64_enabled, mmc64_bios_filename)); return 0; }
static int set_tapelog_filename(const char *name, void *param) { if (tapelog_filename != NULL && name != NULL && strcmp(name, tapelog_filename) == 0) { return 0; } if (name != NULL && *name != '\0') { if (util_check_filename_access(name) < 0) { return -1; } } if (tapelog_enabled && tapelog_destination) { disable_tapelog(); util_string_set(&tapelog_filename, name); if (enable_tapelog() < 0) { return -1; } } else { util_string_set(&tapelog_filename, name); } return 0; }