summaryrefslogtreecommitdiff
path: root/common/test-message.c
diff options
context:
space:
mode:
authorDaiki Ueno <dueno@redhat.com>2018-04-27 10:00:52 +0200
committerDaiki Ueno <ueno@gnu.org>2018-05-01 13:30:43 +0200
commita625dfa4f2456b1a866489e5be15fb46578237a5 (patch)
treed0959e03eeeec6d331aa0451fe6f9199f70eb4b3 /common/test-message.c
parent6202903b261dfae740af3f8e985244bab48470ba (diff)
library: Use dedicated locale object for printing error
Diffstat (limited to 'common/test-message.c')
-rw-r--r--common/test-message.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/common/test-message.c b/common/test-message.c
index 7dd5426..339ad4b 100644
--- a/common/test-message.c
+++ b/common/test-message.c
@@ -38,15 +38,26 @@
#include "message.h"
#include <errno.h>
+#ifdef HAVE_LOCALE_H
+#include <locale.h>
+#endif
#include <stdlib.h>
#include <stdio.h>
+#ifdef HAVE_LOCALE_H
+extern locale_t p11_message_locale;
+#endif
+
static void
test_with_err (void)
{
const char *last;
char *expected;
+#ifdef HAVE_NEWLOCALE
+ p11_message_locale = newlocale (LC_ALL_MASK, "POSIX", (locale_t) 0);
+#endif
+
errno = E2BIG;
p11_message_err (ENOENT, "Details: %s", "value");
last = p11_message_last ();
@@ -55,6 +66,10 @@ test_with_err (void)
assert_not_reached ();
assert_str_eq (expected, last);
free (expected);
+
+#ifdef HAVE_NEWLOCALE
+ freelocale (p11_message_locale);
+#endif
}
int