shithub: scc

Download patch

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