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

	DbgDsA()

	This funtion displays the values of various GLOBAL address variables
in TECO-C.

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

#include "ZPort.h"		/* define portability identifiers */
#include "DefTeco.h"		/* define general identifiers */

extern	VOID	DspChr();	/* display a character on the terminal */

EXTERN	char	*AraBeg;	/* start of m,n area */
EXTERN	char	*AraEnd;	/* end of m,n area */
EXTERN	char	*CBfBeg;	/* start of command string buffer */
EXTERN	char	*CBfEnd;	/* end of command string buffer */
EXTERN	char	*CBfPtr;	/* command buffer pointer */
EXTERN	char	*CStBeg;	/* start of executing command str */
EXTERN	char	*CStEnd;	/* pointer to last char of command string */
EXTERN	char	*EBfBeg;	/* first character in edit buffer */
EXTERN	char	*EBfEnd;	/* last character in edit buffer */
EXTERN	char	*EBPtr1;
EXTERN	char	*EBPtr2;
EXTERN	char	FBfBeg[];	/* start of filespec buffer */
EXTERN	char	*FBfEnd;	/* last char (+1) of filespec buffer */
EXTERN	char	*GapBeg;	/* first char in edit buffer gap */
EXTERN	char	*GapEnd;	/* last char in edit buffer gap */
EXTERN	char	*SBfBeg;	/* start of search buffer */
EXTERN	char	*SBfEnd;	/* end search buffer */
EXTERN	char	*SBfPtr;	/* end of search string */
EXTERN	char	*SStPtr;	/* search string pointer */

VOID DbgDsA()			/* debugging: display address variables */
{
	LOCAL char *DbgPtr;

	DbgDBf("\015\012AraBeg = ");
	MakDBf(AraBeg, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011EBfBeg = ");
	MakDBf(EBfBeg, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011GapBeg = ");
	MakDBf(GapBeg, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\015\012");

	DbgDBf("\015\012AraEnd = ");
	MakDBf(AraEnd, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011EBfEnd = ");
	MakDBf(EBfEnd, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011GapEnd = ");
	MakDBf(GapEnd, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\015\012");

	DbgDBf("\015\012CBfBeg = ");
	MakDBf(CBfBeg, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011CStBeg = ");
	MakDBf(CStBeg, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011FBfBeg = ");
	MakDBf(FBfBeg, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\015\012");

	DbgDBf("\015\012CBfEnd = ");
	MakDBf(CBfEnd, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011CStEnd = ");
	MakDBf(CStEnd, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011FBfEnd = ");
	MakDBf(FBfEnd, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\015\012");

	DbgDBf("SBfBeg = ");
	MakDBf(SBfBeg, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011EBPtr1 = ");
	MakDBf(EBPtr1, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\015\012");

	DbgDBf("EBPtr2 = ");
	MakDBf(EBPtr2, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\015\012");

	DbgDBf("SBfPtr = ");
	MakDBf(SBfPtr, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011CBfPtr = ");
	MakDBf(CBfPtr, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\015\012");

	DbgDBf("SBfEnd = ");
	MakDBf(SBfEnd, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\011SStPtr = ");
	MakDBf(SStPtr, 10);
	ZDspBf(DBfBeg, DBfPtr-DBfBeg);
	DbgDBf("\015\012");

	if (SBfPtr == NULL)
		DbgDBf("search buffer = \"\"\015\012\015\012");
	else if ((SBfPtr-SBfBeg) < 60)
		{
		DbgDBf("search buffer = \"");
		for (DbgPtr=SBfBeg; DbgPtr<SBfPtr; ++DbgPtr)
			DspChr(*DbgPtr);
		DbgDBf("\"\015\012");
		}
	else
		{
		DbgDBf("search buffer unprintable,");
		DbgDBf(" because SBfPtr-BegSSt is greater than 60.\015\012");
		}
}
