return 1;
}
+int ERR_pop(void)
+{
+ ERR_STATE *es;
+
+ es = ossl_err_get_state_int();
+ if (es == NULL || es->bottom == es->top)
+ return 0;
+
+ err_clear(es, es->top, 0);
+ es->top = es->top > 0 ? es->top - 1 : ERR_NUM_ERRORS - 1;
+ return 1;
+}
+
int ERR_pop_to_mark(void)
{
ERR_STATE *es;
=head1 NAME
-ERR_set_mark, ERR_clear_last_mark, ERR_pop_to_mark, ERR_count_to_mark - set
-mark, clear mark and pop errors until mark
+ERR_set_mark, ERR_clear_last_mark, ERR_pop_to_mark, ERR_count_to_mark, ERR_pop -
+set mark, clear mark and pop errors until mark
=head1 SYNOPSIS
int ERR_pop_to_mark(void);
int ERR_clear_last_mark(void);
int ERR_count_to_mark(void);
+ int ERR_pop(void);
=head1 DESCRIPTION
most recently marked entry, not including that entry. If there is no mark in the
error stack, the number of entries in the error stack is returned.
+ERR_pop() unconditionally pops a single error entry from the top of the error
+stack (which is the entry obtainable via L<ERR_peek_last_error(3)>).
+
=head1 RETURN VALUES
ERR_set_mark() returns 0 if the error stack is empty, otherwise 1.
ERR_count_to_mark() returns the number of error stack entries found above the
most recent mark, if any, or the total number of error stack entries.
+ERR_pop() returns 1 if an error was popped or 0 if the error stack was empty.
+
+=head1 HISTORY
+
+ERR_pop() was added in OpenSSL 3.3.
+
=head1 COPYRIGHT
Copyright 2003-2023 The OpenSSL Project Authors. All Rights Reserved.
int ERR_pop_to_mark(void);
int ERR_clear_last_mark(void);
int ERR_count_to_mark(void);
+int ERR_pop(void);
ERR_STATE *OSSL_ERR_STATE_new(void);
void OSSL_ERR_STATE_save(ERR_STATE *es);
OSSL_CMP_ITAV_new0_certProfile ? 3_3_0 EXIST::FUNCTION:CMP
OSSL_CMP_ITAV_get0_certProfile ? 3_3_0 EXIST::FUNCTION:CMP
EVP_DigestSqueeze ? 3_3_0 EXIST::FUNCTION:
+ERR_pop ? 3_3_0 EXIST::FUNCTION: