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

Diff of /lbbs/src/menu.c

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

Revision 1.21 by sysadm, Mon Apr 28 03:31:00 2025 UTC Revision 1.24 by sysadm, Sat May 3 13:41:21 2025 UTC
# Line 17  Line 17 
17    
18  #include "bbs.h"  #include "bbs.h"
19  #include "bbs_cmd.h"  #include "bbs_cmd.h"
20    #include "user_priv.h"
21    #include "reg_ex.h"
22    #include "bbs_cmd.h"
23  #include "menu.h"  #include "menu.h"
24    #include "log.h"
25  #include "io.h"  #include "io.h"
26    #include "screen.h"
27  #include "common.h"  #include "common.h"
28    #include <string.h>
29  #include <stdio.h>  #include <stdio.h>
30  #include <ctype.h>  #include <ctype.h>
31  #include <regex.h>  #include <regex.h>
# Line 31  int load_menu(MENU_SET *p_menu_set, cons Line 37  int load_menu(MENU_SET *p_menu_set, cons
37  {  {
38          FILE *fin, *fout;          FILE *fin, *fout;
39          int i = 0, j;          int i = 0, j;
40          char buffer[256], screen_filename[256], temp[256];          char buffer[LINE_BUFFER_LEN];
41            char screen_filename[LINE_BUFFER_LEN];
42            char temp[LINE_BUFFER_LEN];
43          regmatch_t pmatch[10];          regmatch_t pmatch[10];
44    
45          if ((fin = fopen(conf_file, "r")) == NULL)          if ((fin = fopen(conf_file, "r")) == NULL)
# Line 42  int load_menu(MENU_SET *p_menu_set, cons Line 50  int load_menu(MENU_SET *p_menu_set, cons
50    
51          strcpy(p_menu_set->conf_file, conf_file);          strcpy(p_menu_set->conf_file, conf_file);
52    
53          while (fgets(buffer, 255, fin))          while (fgets(buffer, sizeof(buffer), fin))
54          {          {
55                  switch (buffer[0])                  switch (buffer[0])
56                  {                  {
# Line 62  int load_menu(MENU_SET *p_menu_set, cons Line 70  int load_menu(MENU_SET *p_menu_set, cons
70                                          return -2;                                          return -2;
71                                  }                                  }
72    
73                                  while (fgets(buffer, 255, fin))                                  while (fgets(buffer, sizeof(buffer), fin))
74                                  {                                  {
75                                          if (buffer[0] != '%')                                          if (buffer[0] != '%')
76                                                  fputs(buffer, fout);                                                  fputs(buffer, fout);
# Line 88  int load_menu(MENU_SET *p_menu_set, cons Line 96  int load_menu(MENU_SET *p_menu_set, cons
96    
97                                  j = 0;                                  j = 0;
98    
99                                  while (fgets(buffer, 255, fin))                                  while (fgets(buffer, sizeof(buffer), fin))
100                                  {                                  {
101                                          if (buffer[0] == '#')                                          if (buffer[0] == '#')
102                                          {                                          {
# Line 273  get_menu(MENU_SET *p_menu_set, const cha Line 281  get_menu(MENU_SET *p_menu_set, const cha
281          return NULL;          return NULL;
282  }  }
283    
284  static void  static void display_menu_cursor(MENU *p_menu, int show)
 display_menu_cursor(MENU *p_menu, int show)  
285  {  {
286          moveto((p_menu->items[p_menu->item_cur_pos])->r_row,          moveto((p_menu->items[p_menu->item_cur_pos])->r_row,
287                     (p_menu->items[p_menu->item_cur_pos])->r_col - 2);                     (p_menu->items[p_menu->item_cur_pos])->r_col - 2);
# Line 359  int menu_control(MENU_SET *p_menu_set, i Line 366  int menu_control(MENU_SET *p_menu_set, i
366          switch (key)          switch (key)
367          {          {
368          case CR:          case CR:
369                    igetch(1); // Cleanup remaining '\n' in the buffer
370          case KEY_RIGHT:          case KEY_RIGHT:
371                  if (p_menu->items[p_menu->item_cur_pos]->submenu)                  if (p_menu->items[p_menu->item_cur_pos]->submenu)
372                  {                  {
# Line 470  void unload_menu(MENU_SET *p_menu_set) Line 478  void unload_menu(MENU_SET *p_menu_set)
478  int reload_menu(MENU_SET *p_menu_set)  int reload_menu(MENU_SET *p_menu_set)
479  {  {
480          int result;          int result;
481          char conf_file[256];          char conf_file[FILE_PATH_LEN];
482    
483          strcpy(conf_file, p_menu_set->conf_file);          strncpy(conf_file, p_menu_set->conf_file, sizeof(conf_file));
484          unload_menu(p_menu_set);          unload_menu(p_menu_set);
485          result = load_menu(p_menu_set, conf_file);          result = load_menu(p_menu_set, conf_file);
486    


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

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