| 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> |
| 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) |
| 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 |
{ |
{ |
| 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); |
| 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 |
{ |
{ |
| 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); |
| 477 |
int reload_menu(MENU_SET *p_menu_set) |
int reload_menu(MENU_SET *p_menu_set) |
| 478 |
{ |
{ |
| 479 |
int result; |
int result; |
| 480 |
char conf_file[256]; |
char conf_file[FILE_PATH_LEN]; |
| 481 |
|
|
| 482 |
strcpy(conf_file, p_menu_set->conf_file); |
strncpy(conf_file, p_menu_set->conf_file, sizeof(conf_file)); |
| 483 |
unload_menu(p_menu_set); |
unload_menu(p_menu_set); |
| 484 |
result = load_menu(p_menu_set, conf_file); |
result = load_menu(p_menu_set, conf_file); |
| 485 |
|
|