globle void RemoveBreakCommand( void *theEnv) { DATA_OBJECT argPtr; char *argument; int nargs; void *defrulePtr; if ((nargs = EnvArgCountCheck(theEnv,"remove-break",NO_MORE_THAN,1)) == -1) { return; } if (nargs == 0) { RemoveAllBreakpoints(theEnv); return; } if (EnvArgTypeCheck(theEnv,"remove-break",1,SYMBOL,&argPtr) == FALSE) return; argument = DOToString(argPtr); if ((defrulePtr = EnvFindDefrule(theEnv,argument)) == NULL) { CantFindItemErrorMessage(theEnv,"defrule",argument); return; } if (EnvRemoveBreak(theEnv,defrulePtr) == FALSE) { EnvPrintRouter(theEnv,WERROR,"Rule "); EnvPrintRouter(theEnv,WERROR,argument); EnvPrintRouter(theEnv,WERROR," does not have a breakpoint set.\n"); } }
globle void RemoveAllBreakpoints( void *theEnv) { void *theRule; void *theDefmodule = NULL; while ((theDefmodule = EnvGetNextDefmodule(theEnv,theDefmodule)) != NULL) { theRule = NULL; while ((theRule = EnvGetNextDefrule(theEnv,theRule)) != NULL) { EnvRemoveBreak(theEnv,theRule); } } }
bool Rule::remove_break( ) { if ( !m_cobj ) return false; return EnvRemoveBreak( m_environment.cobj(), m_cobj ); }