/*****************************************************************************

	ExeBar()

	This function executes a | command.

	The | command causes the commands between the | and the matching '
to be skipped.  It is the "else" keyword of TECO's if-then-else-endif
construct.

*****************************************************************************/

#include "ZPort.h"		/* define portability identifiers */
#include "DefError.h"		/* define identifiers for error messages */
#include "DefTeco.h"		/* define general identifiers */

extern	VOID	ErrMsg();	/* display an error message */
extern	DEFAULT	FlowEC();	/* flow to end of conditional */

EXTERN	BYTE	CmdMod;		/* command modifers flags for @, :, etc. */
EXTERN	WORD	EStBot;		/* expression stack bottom */
EXTERN	WORD	EStTop;		/* expression stack top */


DEFAULT ExeBar()		/* execute | (vertical bar) command */
{
#if DEBUGGING
DbgInd+=2;if(DbgLvl>=1){DbgMsg();DbgDBf("ExeBar: called.\015\012");DbgROf();}
#endif

	if (FlowEC() == FAILURE)		/* flow to ' */
#if DEBUGGING
{if(DbgLvl>=1)
{DbgMsg();DbgDBf("ExeBar: returning FAILURE.\015\012");DbgROf();}DbgInd-=2;
#endif
		return(FAILURE);
#if DEBUGGING
}
#endif
	CmdMod = '\0';				/* clear modifiers flags */
	EStTop = EStBot;			/* clear expression stack */
#if DEBUGGING
if(DbgLvl>=1)
{DbgMsg();DbgDBf("ExeBar: returning SUCCESS.\015\012");DbgROf();}DbgInd-=2;
#endif
	return(SUCCESS);
}
