static TUI_MENU_CALLBACK(attach_cartridge_callback) { const char *s; int type = (int)param; if (been_activated) { char *default_item, *directory; char *name; s = cartridge_get_file_name(cartridge_type_to_address(type)); if (s == NULL) { directory = default_item = NULL; } else { util_fname_split(s, &directory, &default_item); } name = tui_file_selector("Attach cartridge image", directory, "*", default_item, NULL, NULL, NULL); if (name != NULL && (s == NULL || strcasecmp(name, s) != 0) && cartridge_attach_image(type, name) < 0) { tui_error("Invalid cartridge image."); } ui_update_menus(); lib_free(name); } /* This is redundant if `been_activated' is nonzero, but let's stay on the safe side. */ s = cartridge_get_file_name(cartridge_type_to_address(type)); if (s == NULL || *s == '\0') { return "(none)"; } else { return s; } }
static TUI_MENU_CALLBACK(cartridge_callback) { const char *s = cartridge_get_file_name((WORD)0); if (s == NULL || *s == '\0') { return "(none)"; } else { return s; } }
static TUI_MENU_CALLBACK(detach_cartridge_callback) { const char *s; if (been_activated) { cartridge_detach_image(-1); } s = cartridge_get_file_name((WORD)0); if (s == NULL || *s == '\0') { return "(none)"; } else { return s; } }
static TUI_MENU_CALLBACK(attach_cartridge_callback) { if (been_activated) { char *default_item, *directory; char *name; const char *s, *filter; int type = (int)param; s = cartridge_get_file_name((WORD)0); util_fname_split(s, &directory, &default_item); filter = (type == CARTRIDGE_CRT) ? "*.crt" : "*"; name = tui_file_selector("Attach cartridge image", directory, filter, default_item, NULL, NULL, NULL); if (name != NULL && (s == NULL || strcasecmp(name, s) != 0) && cartridge_attach_image(type, name) < 0) { tui_error("Invalid cartridge image."); } ui_update_menus(); lib_free(name); } return NULL; }