diff options
-rw-r--r-- | pttbbs/mbbsd/pmore.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/pttbbs/mbbsd/pmore.c b/pttbbs/mbbsd/pmore.c index 4304b55e..3862efaf 100644 --- a/pttbbs/mbbsd/pmore.c +++ b/pttbbs/mbbsd/pmore.c @@ -3523,10 +3523,19 @@ mf_movieExecuteOffsetCmd(unsigned char *s, unsigned char *end) // newno starts from 1 if (newno <= 0) return 0; + + // XXX this is dropping performance... + // need to optimize again someday. + // prevent endless loop + curr = mf_movieCurrentFrameNo(); + if (curr == newno) + return 0; } return mf_movieGotoFrame(newno, curr); case ':': + // XXX need to handle endless loop case + // by names return mf_movieGotoNamedFrame(s+1, end); @@ -3791,6 +3800,10 @@ mf_movieOptionHandler(unsigned char *opt, unsigned char *end) outs(ANSI_RESET); // required because options bar may be not closed pmore_clrtoeol(b_lines, 0); + // if the syntax has error... + if (!maxsel) + return 0; + #ifdef DEBUG prints("selection: %d\n", isel); vkey(); |