| 900 |
|
|
| 901 |
load_bbsnet_conf(CONF_BBSNET); |
load_bbsnet_conf(CONF_BBSNET); |
| 902 |
|
|
|
BBS_last_access_tm = time(NULL); |
|
|
|
|
| 903 |
clearscr(); |
clearscr(); |
| 904 |
bbsnet_refresh(); |
bbsnet_refresh(); |
| 905 |
display_menu(&bbsnet_menu); |
display_menu(&bbsnet_menu); |
| 909 |
{ |
{ |
| 910 |
ch = igetch(100); |
ch = igetch(100); |
| 911 |
|
|
| 912 |
|
if (ch != KEY_NULL && ch != KEY_TIMEOUT) |
| 913 |
|
{ |
| 914 |
|
BBS_last_access_tm = time(NULL); |
| 915 |
|
} |
| 916 |
|
|
| 917 |
switch (ch) |
switch (ch) |
| 918 |
{ |
{ |
| 919 |
case KEY_NULL: // broken pipe |
case KEY_NULL: // broken pipe |
| 920 |
case KEY_ESC: |
log_error("KEY_NULL\n"); |
|
case Ctrl('C'): // user cancel |
|
| 921 |
goto cleanup; |
goto cleanup; |
| 922 |
case KEY_TIMEOUT: |
case KEY_TIMEOUT: |
| 923 |
if (time(NULL) - BBS_last_access_tm >= MAX_DELAY_TIME) |
if (time(NULL) - BBS_last_access_tm >= MAX_DELAY_TIME) |
| 924 |
{ |
{ |
| 925 |
|
log_error("User input timeout\n"); |
| 926 |
goto cleanup; |
goto cleanup; |
| 927 |
} |
} |
| 928 |
continue; |
continue; |
| 929 |
|
case KEY_ESC: |
| 930 |
|
case Ctrl('C'): // user cancel |
| 931 |
|
goto cleanup; |
| 932 |
case CR: |
case CR: |
|
igetch_reset(); |
|
| 933 |
bbsnet_connect(bbsnet_menu.menu_item_pos[0]); |
bbsnet_connect(bbsnet_menu.menu_item_pos[0]); |
| 934 |
bbsnet_refresh(); |
bbsnet_refresh(); |
| 935 |
display_menu(&bbsnet_menu); |
display_menu(&bbsnet_menu); |
| 972 |
bbsnet_selchange(); |
bbsnet_selchange(); |
| 973 |
break; |
break; |
| 974 |
} |
} |
|
BBS_last_access_tm = time(NULL); |
|
| 975 |
} |
} |
| 976 |
|
|
| 977 |
cleanup: |
cleanup: |