mirror of
https://sourceware.org/git/glibc.git
synced 2025-12-24 17:51:17 +03:00
support: Preserve errno in write_message, TEST_VERIFY and other checks
These facilities could clobber errno, which makes it difficult to write certain checks because a specific order has to be used.
This commit is contained in:
@@ -16,6 +16,7 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <support/check.h>
|
||||
|
||||
@@ -44,6 +45,7 @@ support_test_compare_failure (const char *file, int line,
|
||||
int right_positive,
|
||||
int right_size)
|
||||
{
|
||||
int saved_errno = errno;
|
||||
support_record_failure ();
|
||||
if (left_size != right_size)
|
||||
printf ("%s:%d: numeric comparison failure (widths %d and %d)\n",
|
||||
@@ -52,4 +54,5 @@ support_test_compare_failure (const char *file, int line,
|
||||
printf ("%s:%d: numeric comparison failure\n", file, line);
|
||||
report (" left", left_expr, left_value, left_positive, left_size);
|
||||
report ("right", right_expr, right_value, right_positive, right_size);
|
||||
errno = saved_errno;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user