diff options
author | ylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68> | 2023-04-13 09:14:08 +0000 |
---|---|---|
committer | ylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68> | 2023-04-13 09:14:08 +0000 |
commit | e63857b5fa15798e87be4b800f3c000fb33ce50c (patch) | |
tree | b655889cb6db297f1108e4feb95f9a2f8a611270 /jose | |
parent | eb9c317f0015197207f076865624a333653a5a62 (diff) | |
download | libapr-e63857b5fa15798e87be4b800f3c000fb33ce50c.tar.gz |
apr_base64: Don't fault with assert() when NDEBUG is defined, abort() directly.
Per Evgeny:
"""
1) The debug implementation of an assert() may print a diagnostic message,
for example to stderr. A caller of the library function may not be ready for
this to happen when using a non-debug version of the library.
2) The actual destination of the message seems to be implementation-defined.
For example, in Windows-based applications this may show a message box [1],
which is probably even more unexpected for the user of the library.
3) Undefining NDEBUG before other headers may silently cause unexpected
effects if any of those headers make some decisions based on the NDEBUG value,
which isn't an entirely unreasonable thing to expect.
"""
We want to always fault on failure though, so define and use our own
APR__ASSERT() macro which calls abort() directly when NDEBUG is defined.
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@1909117 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'jose')
0 files changed, 0 insertions, 0 deletions