about summary refs log tree commit diff
path: root/support/support_test_verify_impl.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2018-01-12 08:18:30 +0100
committerFlorian Weimer <fweimer@redhat.com>2018-01-12 13:35:01 +0100
commit1a51e46e4a87e1cd9528ac5e5656011636e4086b (patch)
tree0120ca1d101beec6d0cf0532cdd4ab31aa95e211 /support/support_test_verify_impl.c
parent63b52889c35b367cf20896442203bbe5d123058c (diff)
downloadglibc-1a51e46e4a87e1cd9528ac5e5656011636e4086b.tar.gz
glibc-1a51e46e4a87e1cd9528ac5e5656011636e4086b.tar.xz
glibc-1a51e46e4a87e1cd9528ac5e5656011636e4086b.zip
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.
Diffstat (limited to 'support/support_test_verify_impl.c')
-rw-r--r--support/support_test_verify_impl.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/support/support_test_verify_impl.c b/support/support_test_verify_impl.c
index 80311a8265..5ff5555a6a 100644
--- a/support/support_test_verify_impl.c
+++ b/support/support_test_verify_impl.c
@@ -18,14 +18,17 @@
 
 #include <support/check.h>
 
+#include <errno.h>
 #include <stdio.h>
 #include <stdlib.h>
 
 void
 support_test_verify_impl (const char *file, int line, const char *expr)
 {
+  int saved_errno = errno;
   support_record_failure ();
   printf ("error: %s:%d: not true: %s\n", file, line, expr);
+  errno = saved_errno;
 }
 
 void