Skip to content

Commit

Permalink
Restore the ERR_FATAL_ERROR() macro
Browse files Browse the repository at this point in the history
Commit 0cd0a82 removed this macro
along with many unused function and reason codes; ERR_FATAL_ERROR()
was not used in the tree, but did have external consumers.

Add it back to restore the API compatibility and avoid breaking
applications for no internal benefit.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from #2049)
  • Loading branch information
kaduk authored and Rich Salz committed Dec 12, 2016
1 parent 4bf0860 commit 036ba50
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 2 deletions.
10 changes: 8 additions & 2 deletions doc/man3/ERR_GET_LIB.pod
Expand Up @@ -15,12 +15,16 @@ reason code

int ERR_GET_REASON(unsigned long e);

int ERR_FATAL_ERROR(unsigned long e);

=head1 DESCRIPTION

The error code returned by ERR_get_error() consists of a library
number, function code and reason code. ERR_GET_LIB(), ERR_GET_FUNC()
and ERR_GET_REASON() can be used to extract these.

ERR_FATAL_ERROR() indicates whether a given error code is a fatal error.

The library number and function code describe where the error
occurred, the reason code is the information about what went wrong.

Expand All @@ -33,11 +37,13 @@ B<ERR_R_...> reason codes such as B<ERR_R_MALLOC_FAILURE> are globally
unique. However, when checking for sub-library specific reason codes,
be sure to also compare the library number.

ERR_GET_LIB(), ERR_GET_FUNC() and ERR_GET_REASON() are macros.
ERR_GET_LIB(), ERR_GET_FUNC(), ERR_GET_REASON(), and ERR_FATAL_ERROR()
are macros.

=head1 RETURN VALUES

The library number, function code and reason code respectively.
The library number, function code, reason code, and whether the error
is fatal, respectively.

=head1 SEE ALSO

Expand Down
1 change: 1 addition & 0 deletions include/openssl/err.h
Expand Up @@ -140,6 +140,7 @@ typedef struct err_state_st {
# define ERR_GET_LIB(l) (int)(((l) >> 24L) & 0x0FFL)
# define ERR_GET_FUNC(l) (int)(((l) >> 12L) & 0xFFFL)
# define ERR_GET_REASON(l) (int)( (l) & 0xFFFL)
# define ERR_FATAL_ERROR(l) (int)( (l) & ERR_R_FATAL)

/* OS functions */
# define SYS_F_FOPEN 1
Expand Down

0 comments on commit 036ba50

Please sign in to comment.