MA_POP_STACK
NAME
MA_pop_stack - deallocate a stack block
C SYNOPSIS
#include "macdecls.h"
Boolean MA_pop_stack(memhandle)
Integer memhandle; /* read-only */
FORTRAN SYNOPSIS
#include "mafdecls.h"
logical function MA_pop_stack(memhandle)
integer memhandle
DESCRIPTION
MA_pop_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), which must be
at the top of the stack (i.e., the stack block most recently
allocated).
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.
memhandle %d (name: '%s') not top of stack
The block is currently allocated in the stack, but is
not at the top of 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_push_get(3), MA_push_stack(3),
MA_inquire_avail(3), MA_inquire_stack(3)
AUTHOR
Gregory S. Thomas, Pacific Northwest Laboratory