mIRC Home    About    Download    Register    News    Help

Print Thread
stack overflow #134561 02/11/05 11:37 AM
Joined: Oct 2005
Posts: 17
B
baa Offline OP
Pikka bird
OP Offline
Pikka bird
B
Joined: Oct 2005
Posts: 17
(it's hard to search, so this bug may be already reported)
alias test test2
alias test2 test
now do /test
mirc crash

it's sometimes hard for scripter to findout where the problem is. pls add a check for each alias call

a script debug backtrace (caller list) is better to find out what cause a error btw.

Re: stack overflow #134562 02/11/05 12:03 PM
Joined: Apr 2003
Posts: 701
K
Kelder Offline
Hoopy frood
Offline
Hoopy frood
K
Joined: Apr 2003
Posts: 701
I think this thread is about the same problem, it also contains this link to another thread. Basically, if you try this with any other version of mIRC than 6.16, it will give a warning and stop recursion. This protection seems broken in v6.16 though, let's hope it will be back in the next mIRC release...

Re: stack overflow #134563 06/11/05 06:34 PM
Joined: Dec 2002
Posts: 580
N
NaquadaServ Offline
Fjord artisan
Offline
Fjord artisan
N
Joined: Dec 2002
Posts: 580
Not sure if this will help you or not... I prefer to use signals for recursion...

example:
Code:
alias do_recurse { .signal Recurse 1 }
on *:signal:Recurse_Test:{
  echo Recurse Start: Level $1
  if ($1 < 4) { .signal -n $signal $calc($1 + 1) }
  echo Recurse End: Level $1
}


Now if you start every recursive signal name with the word Recurse, you could do the following (in a different script file)...

Code:
on *:signal:Recurse*:{ write -a signal.log $signal : $1- }


Naquada


NaquadaBomb
www.mirc-dll.com
Re: stack overflow #134564 25/11/05 08:55 AM
Joined: Oct 2005
Posts: 17
B
baa Offline OP
Pikka bird
OP Offline
Pikka bird
B
Joined: Oct 2005
Posts: 17
thanks, but i don't want recursion, i just have some alias call each other with a long chain by accident. in come case
too hard to figure it out without a backtrace