/[LeafOK_CVS]/lbbs/src/bbs_net.c
ViewVC logotype

Diff of /lbbs/src/bbs_net.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.41 by sysadm, Thu May 15 05:14:57 2025 UTC Revision 1.44 by sysadm, Thu May 15 09:15:52 2025 UTC
# Line 124  int load_bbsnet_conf(const char *file_co Line 124  int load_bbsnet_conf(const char *file_co
124                  p_menu_item->submenu = 0;                  p_menu_item->submenu = 0;
125                  p_menu_item->priv = 0;                  p_menu_item->priv = 0;
126                  p_menu_item->level = 0;                  p_menu_item->level = 0;
                 p_menu_item->display = 0;  
127                  p_menu_item->name[0] =                  p_menu_item->name[0] =
128                          (char)(menu_item_id < MAXSTATION / 2 ? 'A' + menu_item_id : 'a' + menu_item_id);                          (char)(menu_item_id < MAXSTATION / 2 ? 'A' + menu_item_id : 'a' + menu_item_id);
129                  p_menu_item->name[1] = '\0';                  p_menu_item->name[1] = '\0';
# Line 655  bbsnet_refresh() Line 654  bbsnet_refresh()
654          return 0;          return 0;
655  }  }
656    
657  int bbsnet_selchange(int new_pos)  int bbsnet_selchange()
658  {  {
659            int i = bbsnet_menu.menu_item_pos[0];
660    
661          moveto(20, 0);          moveto(20, 0);
662          clrtoeol();          clrtoeol();
663          prints("|\x1b[1m单位:\x1b[1;33m%-18s\x1b[m  站名:\x1b[1;33m%s\x1b[m",          prints("|\x1b[1m单位:\x1b[1;33m%-18s\x1b[m  站名:\x1b[1;33m%s\x1b[m",
664                     bbsnet_conf[new_pos].host2, bbsnet_conf[new_pos].host1);                     bbsnet_conf[i].host2, bbsnet_conf[i].host1);
665          moveto(20, 79);          moveto(20, 79);
666          prints("|");          prints("|");
667          moveto(21, 0);          moveto(21, 0);
668          clrtoeol();          clrtoeol();
669          prints("|\x1b[1m连往:\x1b[1;33m%-20s", bbsnet_conf[new_pos].ip);          prints("|\x1b[1m连往:\x1b[1;33m%-20s", bbsnet_conf[i].ip);
670          if (bbsnet_conf[new_pos].port != 23)          if (bbsnet_conf[i].port != 23)
671          {          {
672                  prints("  %d", bbsnet_conf[new_pos].port);                  prints("  %d", bbsnet_conf[i].port);
673          }          }
674          prints("\x1b[m");          prints("\x1b[m");
675          moveto(21, 79);          moveto(21, 79);
# Line 680  int bbsnet_selchange(int new_pos) Line 681  int bbsnet_selchange(int new_pos)
681    
682  int bbs_net()  int bbs_net()
683  {  {
684          int ch, pos, i;          int ch, i;
685    
686          load_bbsnet_conf(CONF_BBSNET);          load_bbsnet_conf(CONF_BBSNET);
687    
# Line 688  int bbs_net() Line 689  int bbs_net()
689    
690          clearscr();          clearscr();
691          bbsnet_refresh();          bbsnet_refresh();
         pos = bbsnet_menu.menu_item_pos[0];  
692          display_menu(&bbsnet_menu);          display_menu(&bbsnet_menu);
693          bbsnet_selchange(pos);          bbsnet_selchange();
694    
695          while (!SYS_server_exit)          while (!SYS_server_exit)
696          {          {
# Line 708  int bbs_net() Line 708  int bbs_net()
708                          continue;                          continue;
709                  case CR:                  case CR:
710                          igetch_reset();                          igetch_reset();
711                          pos = bbsnet_menu.menu_item_pos[0];                          bbsnet_connect(bbsnet_menu.menu_item_pos[0]);
                         bbsnet_connect(pos);  
712                          bbsnet_refresh();                          bbsnet_refresh();
713                          display_menu(&bbsnet_menu);                          display_menu(&bbsnet_menu);
714                          bbsnet_selchange(pos);                          bbsnet_selchange();
715                          break;                          break;
716                  case KEY_UP:                  case KEY_UP:
717                          for (i = 0; i < STATION_PER_LINE; i++)                          for (i = 0; i < STATION_PER_LINE; i++)
718                          {                          {
719                                  menu_control(&bbsnet_menu, KEY_UP);                                  menu_control(&bbsnet_menu, KEY_UP);
720                          }                          }
721                          pos = bbsnet_menu.menu_item_pos[0];                          bbsnet_selchange();
                         bbsnet_selchange(pos);  
722                          break;                          break;
723                  case KEY_DOWN:                  case KEY_DOWN:
724                          for (i = 0; i < STATION_PER_LINE; i++)                          for (i = 0; i < STATION_PER_LINE; i++)
725                          {                          {
726                                  menu_control(&bbsnet_menu, KEY_DOWN);                                  menu_control(&bbsnet_menu, KEY_DOWN);
727                          }                          }
728                          pos = bbsnet_menu.menu_item_pos[0];                          bbsnet_selchange();
                         bbsnet_selchange(pos);  
729                          break;                          break;
730                  case KEY_LEFT:                  case KEY_LEFT:
731                          menu_control(&bbsnet_menu, KEY_UP);                          menu_control(&bbsnet_menu, KEY_UP);
732                          pos = bbsnet_menu.menu_item_pos[0];                          bbsnet_selchange();
                         bbsnet_selchange(pos);  
733                          break;                          break;
734                  case KEY_RIGHT:                  case KEY_RIGHT:
735                          menu_control(&bbsnet_menu, KEY_DOWN);                          menu_control(&bbsnet_menu, KEY_DOWN);
736                          pos = bbsnet_menu.menu_item_pos[0];                          bbsnet_selchange();
737                          bbsnet_selchange(pos);                          break;
738                    case KEY_HOME:
739                    case KEY_PGUP:
740                            menu_control(&bbsnet_menu, KEY_PGUP);
741                            bbsnet_selchange();
742                            break;
743                    case KEY_END:
744                    case KEY_PGDN:
745                            menu_control(&bbsnet_menu, KEY_PGDN);
746                            bbsnet_selchange();
747                          break;                          break;
748                  default:                  default:
749                          menu_control(&bbsnet_menu, ch);                          menu_control(&bbsnet_menu, ch);
750                          pos = bbsnet_menu.menu_item_pos[0];                          bbsnet_selchange();
                         bbsnet_selchange(pos);  
751                          break;                          break;
752                  }                  }
753                  BBS_last_access_tm = time(0);                  BBS_last_access_tm = time(0);


Legend:
Removed lines/characters  
Changed lines/characters
  Added lines/characters

webmaster@leafok.com
ViewVC Help
Powered by ViewVC 1.3.0-beta1