ref: d92627a21a8ecccdf1130375d2af79a95b8a1e06
parent: 8a373bda8ce41c144488593ec6ef0550c305e7bc
author: Quentin Rameau <quinq@fifth.space>
date: Tue Feb 21 09:18:29 EST 2017
[libc] Complete locale.h
--- /dev/null
+++ b/libc/include/bits/amd64-sysv/arch/locale.h
@@ -1,0 +1,4 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
--- /dev/null
+++ b/libc/include/bits/i386-sysv/arch/locale.h
@@ -1,0 +1,4 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
--- /dev/null
+++ b/libc/include/bits/qbe/arch/locale.h
@@ -1,0 +1,4 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
--- /dev/null
+++ b/libc/include/bits/z80/arch/locale.h
@@ -1,0 +1,4 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
--- a/libc/include/locale.h
+++ b/libc/include/locale.h
@@ -1,7 +1,8 @@
-
#ifndef _LOCALE_H
#define _LOCALE_H
+#include <arch/locale.h>
+
#define LC_ALL 0
#define LC_COLLATE 1
#define LC_CTYPE 2
@@ -9,6 +10,34 @@
#define LC_NUMERIC 4
#define LC_TIME 5
-extern char *setlocale(int category, const char *locale);
+struct lconv {
+ char *decimal_point;
+ char *thousands_sep;
+ char *grouping;
+ char *mon_decimal_point;
+ char *mon_thousands_sep;
+ char *mon_grouping;
+ char *positive_sign;
+ char *negative_sign;
+ char *currency_symbol;
+ char *int_curr_symbol;
+ char frac_digits;
+ char p_cs_precedes;
+ char n_cs_precedes;
+ char p_sep_by_space;
+ char n_sep_by_space;
+ char p_sign_posn;
+ char n_sign_posn;
+ char int_frac_digits;
+ char int_p_cs_precedes;
+ char int_n_cs_precedes;
+ char int_p_sep_by_space;
+ char int_n_sep_by_space;
+ char int_p_sign_posn;
+ char int_n_sign_posn;
+};
+
+char *setlocale(int category, const char *locale);
+struct lconv *localeconv(void);
#endif