| 70 |
c++; |
c++; |
| 71 |
} |
} |
| 72 |
|
|
| 73 |
#ifdef _LOAD_SO |
#ifdef _ENABLE_SHARED |
| 74 |
hdll = dlopen(s + 5, RTLD_LAZY); |
hdll = dlopen(s + 5, RTLD_LAZY); |
| 75 |
|
|
| 76 |
if (hdll) |
if (hdll) |
| 125 |
return EXITBBS; |
return EXITBBS; |
| 126 |
} |
} |
| 127 |
|
|
| 128 |
|
int eula(void *param) |
| 129 |
|
{ |
| 130 |
|
display_file(DATA_EULA, 0); |
| 131 |
|
|
| 132 |
|
return REDRAW; |
| 133 |
|
} |
| 134 |
|
|
| 135 |
int license(void *param) |
int license(void *param) |
| 136 |
{ |
{ |
| 137 |
display_file(DATA_LICENSE, 0); |
display_file(DATA_LICENSE, 0); |
| 282 |
{ |
{ |
| 283 |
static int show_top10 = 0; |
static int show_top10 = 0; |
| 284 |
int ch = 0; |
int ch = 0; |
| 285 |
|
int loop; |
| 286 |
|
|
| 287 |
if (show_top10) |
if (show_top10) |
| 288 |
{ |
{ |
| 296 |
|
|
| 297 |
if (display_menu(&top10_menu) == 0) |
if (display_menu(&top10_menu) == 0) |
| 298 |
{ |
{ |
| 299 |
while (!SYS_server_exit) |
for (loop = 1; !SYS_server_exit && loop;) |
| 300 |
{ |
{ |
| 301 |
iflush(); |
iflush(); |
| 302 |
ch = igetch(100); |
ch = igetch(100); |
| 306 |
BBS_last_access_tm = time(NULL); |
BBS_last_access_tm = time(NULL); |
| 307 |
} |
} |
| 308 |
|
|
| 309 |
|
if (user_online_update("TOP10_MENU") < 0) |
| 310 |
|
{ |
| 311 |
|
log_error("user_online_update(TOP10_MENU) error\n"); |
| 312 |
|
} |
| 313 |
|
|
| 314 |
switch (ch) |
switch (ch) |
| 315 |
{ |
{ |
| 316 |
case KEY_NULL: // broken pipe |
case KEY_NULL: // broken pipe |
| 317 |
log_error("KEY_NULL\n"); |
log_debug("KEY_NULL\n"); |
| 318 |
show_top10 = 0; |
loop = 0; |
| 319 |
return 0; |
break; |
| 320 |
case KEY_TIMEOUT: |
case KEY_TIMEOUT: |
| 321 |
if (time(NULL) - BBS_last_access_tm >= BBS_max_user_idle_time) |
if (time(NULL) - BBS_last_access_tm >= BBS_max_user_idle_time) |
| 322 |
{ |
{ |
| 323 |
log_error("User input timeout\n"); |
log_debug("User input timeout\n"); |
| 324 |
show_top10 = 0; |
loop = 0; |
| 325 |
return 0; |
break; |
| 326 |
} |
} |
| 327 |
continue; |
continue; |
| 328 |
case CR: |
case CR: |
| 330 |
switch (menu_control(&top10_menu, ch)) |
switch (menu_control(&top10_menu, ch)) |
| 331 |
{ |
{ |
| 332 |
case EXITMENU: |
case EXITMENU: |
| 333 |
ch = EXITMENU; |
loop = 0; |
| 334 |
break; |
break; |
| 335 |
case REDRAW: |
case REDRAW: |
| 336 |
clearscr(); |
clearscr(); |
| 343 |
break; |
break; |
| 344 |
} |
} |
| 345 |
} |
} |
|
|
|
|
if (ch == EXITMENU) |
|
|
{ |
|
|
break; |
|
|
} |
|
| 346 |
} |
} |
| 347 |
} |
} |
| 348 |
|
|