#include <ncbi.h>
#include <dfa.h>

/*************************************************************************
 * dfa_check(dp)
 *
 *	Return dfaErrNone if the DFA pointed to by 'dp' is valid;
 *	otherwise, return the reason why it appears to be bad.
 *************************************************************************/
DFA_Error _cdecl
dfa_check(dp)
	register DFAPtr	dp;
{
	if (dp == NULL || dp->magic != DFA_MAGIC)
		return dfaerrno = dfaErrBadPtr;

	/* Any operational state outside this range should never be seen by user */
	if (dp->opstate < dfaOpstateVirgin || dp->opstate >= dfaOpstateZombie)
		return dfaerrno = dfaErrOpstate;

	return dfaErrNone;
}
