Ok here is the top portion of the code I am having trouble with.
This is the main menu and web listings menu for websites.
The problem is this. Hitting a key that is not listed as a command key just reprints the menu, and does nothing else. This works perfectly on both menus, except hitting 'n'. If I hit n, the first time it prints the statement about a wrong key, then gives the hit a key pause. At this point if you hit n again, it will then print the command prompt, but not the menu.
The same thing happens if for example you hit a q which is an invalid key. It will print the wrong key statement and pause. If you hit any key except n it will clear the screen and reprint the menu and prompt just like it should. If you hit an n it clears the screen and reprints just the prompt.
To see this bug in action logon to The Talamasca
talamasc.madnet.net
and run Internet Resource Listing from the main menu.
Here is the code...
!INCLUDE SBBSDEFS.INC
!INCLUDE FILE_IO.INC
##### Set Node action
node_action node_xtrn
async
############################ Display Main Menu ############################### :main
cmd_home
cls
compare_user_misc um_ansi
if_true
printfile "%jbajamods\\websites\\main.ans"
else
printfile "%jbajamods\\websites\\main.asc"
end_if
##### Display Main Prompt #####
print "\r\nSelect an option @ALIAS@-->"
##### Get Command Key #####
compare_user_misc um_coldkeys
if_false
getkeye
else
getstrupr 60
end_if
##### Do nothing for control keys and space #####
cmdkey ^@
end_cmd
cmdkey ^M
end_cmd
cmdkey ^S
end_cmd
cmdkey "
end_cmd
compare_user_misc um_coldkeys
if_true
crlf
end_if
pause_reset
##### Main Menu Commands #####
cmdkey a
call add
end_cmd
cmdkey e
call email
end_cmd
cmdkey f
call ftp
end_cmd
cmdkey r
return
end_cmd
cmdkey t
call telnet
end_cmd
cmdkey w
call web
end_cmd
print "Excuse me, try a key that works!\r\n"
crlf
pause
end_cmd
############################ Display Web Menu ################################ :web
cmd_home
async
cls
compare_user_misc um_ansi
if_true
printfile "%jbajamods\\websites\\web.ans"
else
printfile "%jbajamods\\websites\\web.asc"
end_if
##### Display Web Prompt #####
print "\r\nSelect an option @ALIAS@-->"
##### Get Command Key #####
compare_user_misc um_coldkeys
if_false
getkeye
else
getstrupr 60
end_if
##### Do nothing for control keys and space #####
cmdkey ^@
end_cmd
cmdkey ^M
end_cmd
cmdkey ^S
end_cmd
cmdkey "
end_cmd
compare_user_misc um_coldkeys
if_true
crlf
end_if
pause_reset
cmdkey d
call udeleteweb
end_cmd
cmdkey r
cmd_pop
return
end_cmd
cmdkey s
call searchweb
end_cmd
cmdkey u
call updateweb
end_cmd
cmdkey v
call webfile
end_cmd
print "Have you thought about getting some new fingers?\r\n"
crlf
pause
end_cmd
end of code posted, but not the end of the module.
TommyKnocker
---
þ Synchronet þ
telnet://talamasca-bbs.com http://www.talamasca-bbs.com