ERR_set_mark() sets a mark on the current topmost error record if there
is one.
ERR_pop_to_mark() will pop the top of the error stack until a mark is found.
The mark is then removed. If there is no mark, the whole stack is removed.
RETURN VALUES
ERR_set_mark() returns 0 if the error stack is empty, otherwise 1.
ERR_pop_to_mark() returns 0 if there was no mark in the error stack, which
implies that the stack became empty, otherwise 1.