| 28 |
{ |
{ |
| 29 |
BBS_max_sessions_per_user = 10, |
BBS_max_sessions_per_user = 10, |
| 30 |
LAST_LOGIN_DT_MAX_LEN = 50, |
LAST_LOGIN_DT_MAX_LEN = 50, |
| 31 |
|
ASTRO_STR_MAX_LEN = 64, |
| 32 |
|
USER_INFO_MAX_LEN = 8192, |
| 33 |
}; |
}; |
| 34 |
|
|
| 35 |
static int display_user_info_key_handler(int *p_key, DISPLAY_CTX *p_ctx) |
static int display_user_info_key_handler(int *p_key, DISPLAY_CTX *p_ctx) |
| 43 |
int session_cnt = BBS_max_sessions_per_user; |
int session_cnt = BBS_max_sessions_per_user; |
| 44 |
int article_cnt; |
int article_cnt; |
| 45 |
const char *astro_name; |
const char *astro_name; |
| 46 |
char astro_str[LINE_BUFFER_LEN]; |
char astro_str[ASTRO_STR_MAX_LEN]; |
| 47 |
struct tm tm_last_login; |
struct tm tm_last_login; |
| 48 |
char str_last_login_dt[LAST_LOGIN_DT_MAX_LEN + 1]; |
char str_last_login_dt[LAST_LOGIN_DT_MAX_LEN + 1]; |
| 49 |
struct tm tm_last_logout; |
struct tm tm_last_logout; |
| 57 |
const char *user_level_name; |
const char *user_level_name; |
| 58 |
char intro_f[BBS_user_intro_max_len + 1]; |
char intro_f[BBS_user_intro_max_len + 1]; |
| 59 |
int intro_len; |
int intro_len; |
| 60 |
char user_info_f[BUFSIZ]; |
char user_info_f[USER_INFO_MAX_LEN]; |
| 61 |
long line_offsets[BBS_user_intro_max_line + 1]; |
long line_offsets[BBS_user_intro_max_line + 1]; |
| 62 |
long lines; |
long lines; |
| 63 |
char *p; |
char *p; |
| 179 |
(intro_len > 0 ? "\033[0;36m个人说明档如下: \033[m" : "\033[0;36m没有个人说明档\033[m"), |
(intro_len > 0 ? "\033[0;36m个人说明档如下: \033[m" : "\033[0;36m没有个人说明档\033[m"), |
| 180 |
intro_f); |
intro_f); |
| 181 |
|
|
| 182 |
lines = split_data_lines(user_info_f, SCREEN_COLS + 1, line_offsets, MIN(SCREEN_ROWS - 1, BBS_user_intro_max_line + 8), 1, NULL); |
lines = split_data_lines(user_info_f, SCREEN_COLS + 1, line_offsets, MIN(SCREEN_ROWS - 1, BBS_user_intro_max_line + 9), 1, NULL); |
| 183 |
|
|
| 184 |
clearscr(); |
clearscr(); |
| 185 |
display_data(user_info_f, lines, line_offsets, 1, display_user_info_key_handler, DATA_READ_HELP); |
display_data(user_info_f, lines, line_offsets, 1, display_user_info_key_handler, DATA_READ_HELP); |