TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Donald Woolwine
from: Colin Thomson
date: 1994-10-23 05:19:24
subject: Rexx

Hello Donald,

DW> think. I am getting a stack full error after about 45 entries into a
DW> looping routine similar to the one that follows.

You need to 'return' from your 'Calls'

 -- start here ---
 /*  TESTHOT.CMD   --  testing out hotkeys */
 call rxfuncadd 'SysGetKey', 'RexxUtil', 'SysGetKey'

 /*
Put this top bit in a loop so that you always come back to the top.
Use 'select..when' instead of all the 'if..then.. else' constructs,
its a lot easier.
 */

 do forever 
 Say 'Press any key to continue'
 key = SysGetKey(noecho)

  Select 
    when  key='r'   THEN CALL R1 
    when key='R'  THEN  CALL R1
    otherwise CALL T1
  end /*select */
 end /* do */
 
 R1:
 SAY " You entered "'R'
 return 

 T1:
 SAY " I DON'T UNDERSTAND, TRY AGAIN"
 return
 /*===========================*/

Everytime you 'call' a label,some stuff gets put on the stack. It only
gets taken off the stack when you 'return'. If you don't return, sooner
or later, the stack is full. 

Colin.

___
 X KWQ/2 1.2f X Success didn't spoil me; I've always been this way.
--- Maximus/2 2.01wb

* Origin: DoNoR/2,Woking UK (0483-725167) (2:440/4)
SEEN-BY: 12/2442 54/54 620/243 624/50 632/348 640/820 690/660 711/409 410 413
SEEN-BY: 711/430 807 808 809 934 942 949 712/353 623 713/888 800/1
@PATH: 440/4 141/209 270/101 396/1 3615/50 229/2 12/2442 711/409 54/54
@PATH: 711/808 809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.