commit ecb146910da88141390ca2cc58d79a0ed9ab14ff
Author:     Quentin Rameau <[email protected]>
AuthorDate: Tue Feb 21 14:18:29 2017 +0100
Commit:     Quentin Rameau <[email protected]>
CommitDate: Tue Feb 21 19:40:45 2017 +0100

    [libc] Complete locale.h

diff --git a/libc/include/bits/amd64-sysv/arch/locale.h 
b/libc/include/bits/amd64-sysv/arch/locale.h
new file mode 100644
index 0000000..3b8a2eb
--- /dev/null
+++ b/libc/include/bits/amd64-sysv/arch/locale.h
@@ -0,0 +1,4 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
diff --git a/libc/include/bits/i386-sysv/arch/locale.h 
b/libc/include/bits/i386-sysv/arch/locale.h
new file mode 100644
index 0000000..3b8a2eb
--- /dev/null
+++ b/libc/include/bits/i386-sysv/arch/locale.h
@@ -0,0 +1,4 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
diff --git a/libc/include/bits/qbe/arch/locale.h 
b/libc/include/bits/qbe/arch/locale.h
new file mode 100644
index 0000000..3b8a2eb
--- /dev/null
+++ b/libc/include/bits/qbe/arch/locale.h
@@ -0,0 +1,4 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
diff --git a/libc/include/bits/z80/arch/locale.h 
b/libc/include/bits/z80/arch/locale.h
new file mode 100644
index 0000000..3b8a2eb
--- /dev/null
+++ b/libc/include/bits/z80/arch/locale.h
@@ -0,0 +1,4 @@
+/* See LICENSE file for copyright and license details. */
+#ifndef NULL
+#define NULL ((void *) 0)
+#endif
diff --git a/libc/include/locale.h b/libc/include/locale.h
index 8c41bc3..987acd4 100644
--- 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

Reply via email to