MA_CHOP_STACK


     NAME
	  MA_chop_stack	- deallocate a stack block and all stack
	  blocks allocated after it

     C SYNOPSIS
	  #include "macdecls.h"

	  Boolean MA_chop_stack(memhandle)
	      Integer	  memhandle;	  /* read-only */

     FORTRAN SYNOPSIS
	  #include "mafdecls.h"

	  logical function MA_chop_stack(memhandle)
	      integer	  memhandle

     DESCRIPTION
	  MA_chop_stack() deallocates the stack	block corresponding to
	  the handle memhandle (which was returned by MA_push_get() or
	  MA_push_stack() when the block was allocated)	and all	stack
	  blocks allocated after it.

     DIAGNOSTICS
	  invalid memhandle: %d
	       memhandle is not	a valid	handle.
	  invalid checksum for memhandle %d (name: '%s')
	       The block's computed checksum does not match its	stored
	       checksum. This indicates	that the block has been
	       corrupted by having its internal	state overwritten.
	  invalid guard(s) for memhandle %d (name: '%s')
	       This indicates that the block has been corrupted	by
	       being overwritten at one	or both	ends. The likely cause
	       of this is an application indexing bug.
	  memhandle %d (name: '%s') not	in stack
	       The block is not	currently allocated in the stack.

	  Other	diagnostics are	possible. If seen, they	indicate
	  corruption of	the internal state of MA, caused by bugs in
	  either MA or the application.

     RETURN VALUE
	  C: MA_TRUE upon success, MA_FALSE upon failure.
	  FORTRAN: .true. upon success,	.false.	upon failure.

     SEE ALSO
	  MA(3), MA_inquire_avail(3), MA_inquire_stack(3),
	  MA_pop_stack(3), MA_push_get(3), MA_push_stack(3)

     AUTHOR
	  Gregory S. Thomas, Pacific Northwest Laboratory