case ACTION_STD_CONTEXT: if (!line_count) break; rb->strcpy(copy_buffer,&buffer[do_action(ACTION_GET,0,cur_sel)]); do_action(ACTION_REMOVE,0,cur_sel); changed = true; break; case ACTION_STD_MENU: { /* do the item menu */ switch (do_item_menu(cur_sel, copy_buffer)) { case MENU_RET_SAVE: save_changes(1); changed = false; break; case MENU_RET_UPDATE: changed = true; break; case MENU_RET_NO_UPDATE: break; } } break; case ACTION_STD_CANCEL: if (changed) { MENUITEM_STRINGLIST(menu, "Do What?", NULL, "Return", "Show Playback Menu", "Save Changes", "Save As...", "Save and Exit", "Ignore Changes and Exit"); switch (rb->do_menu(&menu, NULL)) { case 0: break; case 1: playback_control(rb); break; case 2: //save to disk save_changes(1); changed = 0; break; case 3: save_changes(0); changed = 0; break; case 4: save_changes(1); exit=1; break; case 5: exit=1; break; } } else exit=1;