void execStdGetModule (void) { //---------------------------------------------------------- // Return the handle of the current module being executed... char* curBuffer = ABLi_popCharPtr(); char* fsmBuffer = ABLi_popCharPtr(); strcpy(curBuffer, CurModule->getFileName()); strcpy(fsmBuffer, CurFSM ? CurFSM->getFileName() : "none"); ABLi_pushInteger(CurModuleHandle); }
void execStdSetState (void) { unsigned long stateHandle = ABLi_popInteger(); if (stateHandle > 0) { SymTableNodePtr stateFunction = ModuleRegistry[CurFSM->getHandle()].stateHandles[stateHandle].state; CurFSM->setPrevState(CurFSM->getState()); CurFSM->setState(stateFunction); sprintf(SetStateDebugStr, "%s:%s, line %d", CurFSM->getFileName(), stateFunction->name, execLineNumber); NewStateSet = true; } }