diff --git a/src/cmdu.c b/src/cmdu.c index c02f3db..60f99c3 100644 --- a/src/cmdu.c +++ b/src/cmdu.c @@ -55,7 +55,7 @@ void commandUD() { case 0: sl_reinit(); break; case 1: - sl_retFar2(); break; + sl_retFar(); break; default: WARNING("UnKnown UD command %d", mode); } diff --git a/src/scenario.c b/src/scenario.c index 609cea5..2201146 100644 --- a/src/scenario.c +++ b/src/scenario.c @@ -269,32 +269,6 @@ void sl_retFar(void) { int *tmp = sl_pop(); int page, index; - while (*tmp != STACK_FARJMP) { - if (*tmp == STACK_NEARJMP) { - WARNING("Stack buffer is illegal"); - } else if (*tmp == STACK_TXXSTATE) { - popState(tmp); - } else if (*tmp == STACK_VARIABLE) { - popVars(tmp); - } else { - SYSERROR("Stack buffer is illegal"); - } - free(tmp); - tmp = sl_pop(); - } - page = *(tmp + 2); - index = *(tmp + 3); - free(tmp); - sl_jmpFar2(page, index); - - pageCallCnt--; -} - -/* UD 1 */ -void sl_retFar2(void) { - int *tmp = sl_pop(); - int page, index; - while (*tmp != STACK_FARJMP) { if (*tmp == STACK_NEARJMP) { labelCallCnt--; diff --git a/src/scenario.h b/src/scenario.h index f537853..d22a7fd 100644 --- a/src/scenario.h +++ b/src/scenario.h @@ -68,7 +68,6 @@ void sl_retNear(void); void sl_callFar(int page); void sl_callFar2(int page, int address); void sl_retFar(void); -void sl_retFar2(void); void sl_clearStack(bool restore); void sl_dropLabelCalls(int cnt); void sl_dropPageCalls(int cnt);