summaryrefslogtreecommitdiff
path: root/lib/mlibc/tests/ansi/locale.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/tests/ansi/locale.c')
-rw-r--r--lib/mlibc/tests/ansi/locale.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/mlibc/tests/ansi/locale.c b/lib/mlibc/tests/ansi/locale.c
new file mode 100644
index 0000000..056298b
--- /dev/null
+++ b/lib/mlibc/tests/ansi/locale.c
@@ -0,0 +1,17 @@
+#include <stdio.h>
+#include <wchar.h>
+#include <locale.h>
+#include <assert.h>
+
+int main() {
+ wchar_t c = 0xC9;
+ unsigned char buf[sizeof(wchar_t)] = { 0 };
+ setlocale(LC_ALL, "");
+ if (sprintf(buf, "%lc", c) < 0)
+ return -1;
+
+ assert(buf[0] == 0xc3 && buf[1] == 0x89
+ && buf[2] == '\0' && buf[3] == '\0');
+
+ return 0;
+}